tinybase 5.0.0-beta.27 → 5.0.0-beta.28
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/_internal/ui-react/with-schemas/index.d.cts +274 -0
- package/@types/_internal/ui-react/with-schemas/index.d.ts +274 -0
- package/@types/checkpoints/index.d.cts +30 -1
- package/@types/checkpoints/index.d.ts +30 -1
- package/@types/checkpoints/with-schemas/index.d.cts +30 -1
- package/@types/checkpoints/with-schemas/index.d.ts +30 -1
- package/@types/common/index.d.cts +9 -0
- package/@types/common/index.d.ts +9 -0
- package/@types/common/with-schemas/index.d.cts +9 -0
- package/@types/common/with-schemas/index.d.ts +9 -0
- package/@types/index.d.cts +1 -0
- package/@types/index.d.ts +1 -0
- package/@types/indexes/index.d.cts +32 -1
- package/@types/indexes/index.d.ts +32 -1
- package/@types/indexes/with-schemas/index.d.cts +32 -1
- package/@types/indexes/with-schemas/index.d.ts +32 -1
- package/@types/mergeable-store/index.d.cts +0 -2
- package/@types/mergeable-store/index.d.ts +0 -2
- package/@types/mergeable-store/with-schemas/index.d.cts +2 -2
- package/@types/mergeable-store/with-schemas/index.d.ts +2 -2
- package/@types/metrics/index.d.cts +30 -4
- package/@types/metrics/index.d.ts +30 -4
- package/@types/metrics/with-schemas/index.d.cts +30 -4
- package/@types/metrics/with-schemas/index.d.ts +30 -4
- package/@types/persisters/index.d.cts +87 -25
- package/@types/persisters/index.d.ts +87 -25
- package/@types/persisters/persister-automerge/index.d.cts +4 -4
- package/@types/persisters/persister-automerge/index.d.ts +4 -4
- package/@types/persisters/persister-automerge/with-schemas/index.d.cts +4 -4
- package/@types/persisters/persister-automerge/with-schemas/index.d.ts +4 -4
- package/@types/persisters/persister-browser/index.d.cts +7 -4
- package/@types/persisters/persister-browser/index.d.ts +7 -4
- package/@types/persisters/persister-browser/with-schemas/index.d.cts +7 -4
- package/@types/persisters/persister-browser/with-schemas/index.d.ts +7 -4
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +4 -4
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +4 -4
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +4 -4
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +4 -4
- package/@types/persisters/persister-electric-sql/index.d.cts +4 -4
- package/@types/persisters/persister-electric-sql/index.d.ts +4 -4
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +4 -4
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +4 -4
- package/@types/persisters/persister-expo-sqlite/index.d.cts +4 -4
- package/@types/persisters/persister-expo-sqlite/index.d.ts +4 -4
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +4 -4
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +4 -4
- package/@types/persisters/persister-file/index.d.cts +6 -4
- package/@types/persisters/persister-file/index.d.ts +6 -4
- package/@types/persisters/persister-file/with-schemas/index.d.cts +6 -4
- package/@types/persisters/persister-file/with-schemas/index.d.ts +6 -4
- package/@types/persisters/persister-indexed-db/index.d.cts +5 -4
- package/@types/persisters/persister-indexed-db/index.d.ts +5 -4
- package/@types/persisters/persister-indexed-db/with-schemas/index.d.cts +5 -4
- package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +5 -4
- package/@types/persisters/persister-libsql/index.d.cts +5 -4
- package/@types/persisters/persister-libsql/index.d.ts +5 -4
- package/@types/persisters/persister-libsql/with-schemas/index.d.cts +5 -4
- package/@types/persisters/persister-libsql/with-schemas/index.d.ts +5 -4
- package/@types/persisters/persister-partykit-client/index.d.cts +12 -6
- package/@types/persisters/persister-partykit-client/index.d.ts +12 -6
- package/@types/persisters/persister-partykit-client/with-schemas/index.d.cts +12 -6
- package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +12 -6
- package/@types/persisters/persister-partykit-server/index.d.cts +11 -3
- package/@types/persisters/persister-partykit-server/index.d.ts +11 -3
- package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +11 -3
- package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +11 -3
- package/@types/persisters/persister-powersync/index.d.cts +5 -4
- package/@types/persisters/persister-powersync/index.d.ts +5 -4
- package/@types/persisters/persister-powersync/with-schemas/index.d.cts +5 -4
- package/@types/persisters/persister-powersync/with-schemas/index.d.ts +5 -4
- package/@types/persisters/persister-remote/index.d.cts +6 -4
- package/@types/persisters/persister-remote/index.d.ts +6 -4
- package/@types/persisters/persister-remote/with-schemas/index.d.cts +6 -4
- package/@types/persisters/persister-remote/with-schemas/index.d.ts +6 -4
- package/@types/persisters/persister-sqlite-wasm/index.d.cts +4 -4
- package/@types/persisters/persister-sqlite-wasm/index.d.ts +4 -4
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +4 -4
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +4 -4
- package/@types/persisters/persister-sqlite3/index.d.cts +4 -4
- package/@types/persisters/persister-sqlite3/index.d.ts +4 -4
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +4 -4
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +4 -4
- package/@types/persisters/persister-yjs/index.d.cts +4 -4
- package/@types/persisters/persister-yjs/index.d.ts +4 -4
- package/@types/persisters/persister-yjs/with-schemas/index.d.cts +4 -4
- package/@types/persisters/persister-yjs/with-schemas/index.d.ts +4 -4
- package/@types/persisters/with-schemas/index.d.cts +87 -25
- package/@types/persisters/with-schemas/index.d.ts +87 -25
- package/@types/queries/index.d.cts +64 -4
- package/@types/queries/index.d.ts +64 -4
- package/@types/queries/with-schemas/index.d.cts +64 -4
- package/@types/queries/with-schemas/index.d.ts +64 -4
- package/@types/relationships/index.d.cts +34 -1
- package/@types/relationships/index.d.ts +34 -1
- package/@types/relationships/with-schemas/index.d.cts +34 -1
- package/@types/relationships/with-schemas/index.d.ts +34 -1
- package/@types/store/index.d.cts +125 -0
- package/@types/store/index.d.ts +125 -0
- package/@types/store/with-schemas/index.d.cts +125 -0
- package/@types/store/with-schemas/index.d.ts +125 -0
- package/@types/synchronizers/index.d.cts +32 -10
- package/@types/synchronizers/index.d.ts +32 -10
- package/@types/synchronizers/synchronizer-broadcast-channel/index.d.cts +114 -0
- package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +114 -0
- package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.cts +128 -0
- package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +128 -0
- package/@types/synchronizers/synchronizer-local/index.d.cts +16 -17
- package/@types/synchronizers/synchronizer-local/index.d.ts +16 -17
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +16 -17
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +16 -17
- package/@types/synchronizers/synchronizer-ws-client/index.d.cts +66 -6
- package/@types/synchronizers/synchronizer-ws-client/index.d.ts +66 -6
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +77 -6
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +77 -6
- package/@types/synchronizers/synchronizer-ws-server/index.d.cts +486 -7
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +486 -7
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +486 -7
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +486 -7
- package/@types/synchronizers/with-schemas/index.d.cts +29 -11
- package/@types/synchronizers/with-schemas/index.d.ts +29 -11
- package/@types/tools/index.d.cts +22 -0
- package/@types/tools/index.d.ts +22 -0
- package/@types/tools/with-schemas/index.d.cts +22 -0
- package/@types/tools/with-schemas/index.d.ts +22 -0
- package/@types/ui-react/index.d.cts +375 -1
- package/@types/ui-react/index.d.ts +375 -1
- package/@types/ui-react/with-schemas/index.d.cts +100 -1
- package/@types/ui-react/with-schemas/index.d.ts +100 -1
- package/@types/ui-react-dom/index.d.cts +112 -0
- package/@types/ui-react-dom/index.d.ts +112 -0
- package/@types/ui-react-dom/with-schemas/index.d.cts +112 -0
- package/@types/ui-react-dom/with-schemas/index.d.ts +112 -0
- package/@types/ui-react-inspector/index.d.cts +6 -2
- package/@types/ui-react-inspector/index.d.ts +6 -2
- package/@types/ui-react-inspector/with-schemas/index.d.cts +118 -2
- package/@types/ui-react-inspector/with-schemas/index.d.ts +118 -2
- package/@types/with-schemas/index.d.cts +1 -0
- package/@types/with-schemas/index.d.ts +1 -0
- package/cjs/es6/index.cjs +2 -2
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
- 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 -0
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/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/synchronizers/index.cjs +2 -2
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +628 -0
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +628 -0
- package/cjs/es6/synchronizers/synchronizer-local/index.cjs +4 -4
- package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +4 -4
- package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +15 -21
- package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +15 -21
- package/cjs/es6/synchronizers/with-schemas/index.cjs +2 -2
- package/cjs/es6/with-schemas/index.cjs +2 -2
- package/cjs/index.cjs +2 -2
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/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/synchronizers/index.cjs +2 -2
- package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +500 -0
- package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +500 -0
- package/cjs/synchronizers/synchronizer-local/index.cjs +4 -4
- package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +4 -4
- package/cjs/synchronizers/synchronizer-ws-client/index.cjs +15 -21
- package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +15 -21
- package/cjs/synchronizers/with-schemas/index.cjs +2 -2
- package/cjs/with-schemas/index.cjs +2 -2
- package/es6/index.js +2 -2
- package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
- package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
- package/es6/min/synchronizers/synchronizer-broadcast-channel/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/synchronizers/index.js +2 -2
- package/es6/synchronizers/synchronizer-broadcast-channel/index.js +626 -0
- package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +626 -0
- package/es6/synchronizers/synchronizer-local/index.js +4 -4
- package/es6/synchronizers/synchronizer-local/with-schemas/index.js +4 -4
- package/es6/synchronizers/synchronizer-ws-client/index.js +15 -21
- package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +15 -21
- package/es6/synchronizers/with-schemas/index.js +2 -2
- package/es6/with-schemas/index.js +2 -2
- package/index.js +2 -2
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
- package/min/synchronizers/synchronizer-broadcast-channel/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/package.json +105 -1
- package/readme.md +9 -9
- package/releases.md +4 -4
- package/synchronizers/index.js +2 -2
- package/synchronizers/synchronizer-broadcast-channel/index.js +498 -0
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +498 -0
- package/synchronizers/synchronizer-local/index.js +4 -4
- package/synchronizers/synchronizer-local/with-schemas/index.js +4 -4
- package/synchronizers/synchronizer-ws-client/index.js +15 -21
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +15 -21
- package/synchronizers/with-schemas/index.js +2 -2
- package/umd/es6/index.js +2 -2
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
- 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 -0
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/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/synchronizers/index.js +2 -2
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +654 -0
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +654 -0
- package/umd/es6/synchronizers/synchronizer-local/index.js +4 -4
- package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +4 -4
- package/umd/es6/synchronizers/synchronizer-ws-client/index.js +15 -21
- package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +15 -21
- package/umd/es6/synchronizers/with-schemas/index.js +2 -2
- package/umd/es6/with-schemas/index.js +2 -2
- package/umd/index.js +2 -2
- package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
- package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
- package/umd/min/synchronizers/synchronizer-broadcast-channel/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/synchronizers/index.js +2 -2
- package/umd/synchronizers/synchronizer-broadcast-channel/index.js +516 -0
- package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +516 -0
- package/umd/synchronizers/synchronizer-local/index.js +4 -4
- package/umd/synchronizers/synchronizer-local/with-schemas/index.js +4 -4
- package/umd/synchronizers/synchronizer-ws-client/index.js +15 -21
- package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +15 -21
- package/umd/synchronizers/with-schemas/index.js +2 -2
- package/umd/with-schemas/index.js +2 -2
- package/with-schemas/index.js +2 -2
|
@@ -420,7 +420,7 @@ const Message = {
|
|
|
420
420
|
const createCustomSynchronizer = (
|
|
421
421
|
store,
|
|
422
422
|
send,
|
|
423
|
-
|
|
423
|
+
registerReceive,
|
|
424
424
|
destroyImpl,
|
|
425
425
|
requestTimeoutSeconds,
|
|
426
426
|
onIgnoredError,
|
|
@@ -430,7 +430,7 @@ const createCustomSynchronizer = (
|
|
|
430
430
|
let sends = 0;
|
|
431
431
|
let receives = 0;
|
|
432
432
|
const pendingRequests = mapNew();
|
|
433
|
-
|
|
433
|
+
registerReceive((fromClientId, requestId, message, body) => {
|
|
434
434
|
receives++;
|
|
435
435
|
if (message == Message.Response) {
|
|
436
436
|
ifNotUndefined(
|
|
@@ -634,43 +634,37 @@ const createWsSynchronizer = (
|
|
|
634
634
|
onIgnoredError,
|
|
635
635
|
) =>
|
|
636
636
|
__async(void 0, null, function* () {
|
|
637
|
-
let currentReceive;
|
|
638
637
|
const addEventListener = (event, handler) =>
|
|
639
638
|
webSocket.addEventListener(event, handler);
|
|
640
|
-
const
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
639
|
+
const registerReceive = (receive) =>
|
|
640
|
+
addEventListener('message', ({data}) => {
|
|
641
|
+
const payload = data.toString(UTF8);
|
|
642
|
+
const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
|
|
643
|
+
if (splitAt !== -1) {
|
|
644
|
+
receive(
|
|
645
|
+
slice(data, 0, splitAt),
|
|
646
|
+
...jsonParseWithUndefined(slice(data, splitAt + 1)),
|
|
647
|
+
);
|
|
648
|
+
}
|
|
649
|
+
});
|
|
650
|
+
const send = (toClientId, ...args) =>
|
|
644
651
|
webSocket.send(
|
|
645
652
|
(toClientId != null ? toClientId : EMPTY_STRING) +
|
|
646
653
|
MESSAGE_SEPARATOR +
|
|
647
654
|
jsonStringWithUndefined(args),
|
|
648
655
|
);
|
|
649
|
-
};
|
|
650
656
|
const destroy = () => {
|
|
651
657
|
webSocket.close();
|
|
652
658
|
};
|
|
653
659
|
const synchronizer = createCustomSynchronizer(
|
|
654
660
|
store,
|
|
655
661
|
send,
|
|
656
|
-
|
|
662
|
+
registerReceive,
|
|
657
663
|
destroy,
|
|
658
664
|
requestTimeoutSeconds,
|
|
659
665
|
onIgnoredError,
|
|
660
666
|
{getWebSocket: () => webSocket},
|
|
661
667
|
);
|
|
662
|
-
addEventListener('message', ({data}) => {
|
|
663
|
-
if (!isUndefined(currentReceive)) {
|
|
664
|
-
const payload = data.toString(UTF8);
|
|
665
|
-
const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
|
|
666
|
-
if (splitAt !== -1) {
|
|
667
|
-
currentReceive(
|
|
668
|
-
slice(data, 0, splitAt),
|
|
669
|
-
...jsonParseWithUndefined(slice(data, splitAt + 1)),
|
|
670
|
-
);
|
|
671
|
-
}
|
|
672
|
-
}
|
|
673
|
-
});
|
|
674
668
|
return promiseNew((resolve, reject) => {
|
|
675
669
|
if (webSocket.readyState != webSocket.OPEN) {
|
|
676
670
|
addEventListener('error', reject);
|
|
@@ -420,7 +420,7 @@ const Message = {
|
|
|
420
420
|
const createCustomSynchronizer = (
|
|
421
421
|
store,
|
|
422
422
|
send,
|
|
423
|
-
|
|
423
|
+
registerReceive,
|
|
424
424
|
destroyImpl,
|
|
425
425
|
requestTimeoutSeconds,
|
|
426
426
|
onIgnoredError,
|
|
@@ -430,7 +430,7 @@ const createCustomSynchronizer = (
|
|
|
430
430
|
let sends = 0;
|
|
431
431
|
let receives = 0;
|
|
432
432
|
const pendingRequests = mapNew();
|
|
433
|
-
|
|
433
|
+
registerReceive((fromClientId, requestId, message, body) => {
|
|
434
434
|
receives++;
|
|
435
435
|
if (message == Message.Response) {
|
|
436
436
|
ifNotUndefined(
|
|
@@ -634,43 +634,37 @@ const createWsSynchronizer = (
|
|
|
634
634
|
onIgnoredError,
|
|
635
635
|
) =>
|
|
636
636
|
__async(void 0, null, function* () {
|
|
637
|
-
let currentReceive;
|
|
638
637
|
const addEventListener = (event, handler) =>
|
|
639
638
|
webSocket.addEventListener(event, handler);
|
|
640
|
-
const
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
639
|
+
const registerReceive = (receive) =>
|
|
640
|
+
addEventListener('message', ({data}) => {
|
|
641
|
+
const payload = data.toString(UTF8);
|
|
642
|
+
const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
|
|
643
|
+
if (splitAt !== -1) {
|
|
644
|
+
receive(
|
|
645
|
+
slice(data, 0, splitAt),
|
|
646
|
+
...jsonParseWithUndefined(slice(data, splitAt + 1)),
|
|
647
|
+
);
|
|
648
|
+
}
|
|
649
|
+
});
|
|
650
|
+
const send = (toClientId, ...args) =>
|
|
644
651
|
webSocket.send(
|
|
645
652
|
(toClientId != null ? toClientId : EMPTY_STRING) +
|
|
646
653
|
MESSAGE_SEPARATOR +
|
|
647
654
|
jsonStringWithUndefined(args),
|
|
648
655
|
);
|
|
649
|
-
};
|
|
650
656
|
const destroy = () => {
|
|
651
657
|
webSocket.close();
|
|
652
658
|
};
|
|
653
659
|
const synchronizer = createCustomSynchronizer(
|
|
654
660
|
store,
|
|
655
661
|
send,
|
|
656
|
-
|
|
662
|
+
registerReceive,
|
|
657
663
|
destroy,
|
|
658
664
|
requestTimeoutSeconds,
|
|
659
665
|
onIgnoredError,
|
|
660
666
|
{getWebSocket: () => webSocket},
|
|
661
667
|
);
|
|
662
|
-
addEventListener('message', ({data}) => {
|
|
663
|
-
if (!isUndefined(currentReceive)) {
|
|
664
|
-
const payload = data.toString(UTF8);
|
|
665
|
-
const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
|
|
666
|
-
if (splitAt !== -1) {
|
|
667
|
-
currentReceive(
|
|
668
|
-
slice(data, 0, splitAt),
|
|
669
|
-
...jsonParseWithUndefined(slice(data, splitAt + 1)),
|
|
670
|
-
);
|
|
671
|
-
}
|
|
672
|
-
}
|
|
673
|
-
});
|
|
674
668
|
return promiseNew((resolve, reject) => {
|
|
675
669
|
if (webSocket.readyState != webSocket.OPEN) {
|
|
676
670
|
addEventListener('error', reject);
|
|
@@ -410,7 +410,7 @@ const Message = {
|
|
|
410
410
|
const createCustomSynchronizer = (
|
|
411
411
|
store,
|
|
412
412
|
send,
|
|
413
|
-
|
|
413
|
+
registerReceive,
|
|
414
414
|
destroyImpl,
|
|
415
415
|
requestTimeoutSeconds,
|
|
416
416
|
onIgnoredError,
|
|
@@ -420,7 +420,7 @@ const createCustomSynchronizer = (
|
|
|
420
420
|
let sends = 0;
|
|
421
421
|
let receives = 0;
|
|
422
422
|
const pendingRequests = mapNew();
|
|
423
|
-
|
|
423
|
+
registerReceive((fromClientId, requestId, message, body) => {
|
|
424
424
|
receives++;
|
|
425
425
|
if (message == Message.Response) {
|
|
426
426
|
ifNotUndefined(
|
|
@@ -1569,7 +1569,7 @@ const Message = {
|
|
|
1569
1569
|
const createCustomSynchronizer = (
|
|
1570
1570
|
store,
|
|
1571
1571
|
send,
|
|
1572
|
-
|
|
1572
|
+
registerReceive,
|
|
1573
1573
|
destroyImpl,
|
|
1574
1574
|
requestTimeoutSeconds,
|
|
1575
1575
|
onIgnoredError,
|
|
@@ -1579,7 +1579,7 @@ const createCustomSynchronizer = (
|
|
|
1579
1579
|
let sends = 0;
|
|
1580
1580
|
let receives = 0;
|
|
1581
1581
|
const pendingRequests = mapNew();
|
|
1582
|
-
|
|
1582
|
+
registerReceive((fromClientId, requestId, message, body) => {
|
|
1583
1583
|
receives++;
|
|
1584
1584
|
if (message == Message.Response) {
|
|
1585
1585
|
ifNotUndefined(
|
package/cjs/index.cjs
CHANGED
|
@@ -1384,7 +1384,7 @@ const Message = {
|
|
|
1384
1384
|
const createCustomSynchronizer = (
|
|
1385
1385
|
store,
|
|
1386
1386
|
send,
|
|
1387
|
-
|
|
1387
|
+
registerReceive,
|
|
1388
1388
|
destroyImpl,
|
|
1389
1389
|
requestTimeoutSeconds,
|
|
1390
1390
|
onIgnoredError,
|
|
@@ -1394,7 +1394,7 @@ const createCustomSynchronizer = (
|
|
|
1394
1394
|
let sends = 0;
|
|
1395
1395
|
let receives = 0;
|
|
1396
1396
|
const pendingRequests = mapNew();
|
|
1397
|
-
|
|
1397
|
+
registerReceive((fromClientId, requestId, message, body) => {
|
|
1398
1398
|
receives++;
|
|
1399
1399
|
if (message == Message.Response) {
|
|
1400
1400
|
ifNotUndefined(
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t)=>e.map(t),i=Object,l=e=>i.getPrototypeOf(e),c=i.entries,g=i.keys,u=i.freeze,y=(e,t)=>((e,t)=>e.forEach(t))(c(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(l(e),(e=>e==i.prototype||n(l(e))),(()=>!0)))(e)&&0==(e=>g(e).length)(e),h=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),p=(e,t)=>e?.delete(t),w=e=>new Map(e),v=(e,t)=>e?.get(t),b=(e,t,a)=>n(a)?(p(e,t),e):e?.set(t,a),f=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||b(e,t,a()),v(e,t)},M=w(),C=w();new t.TextEncoder;const A=(e,t)=>t?[e,t]:[e],S=(e,t)=>((e??"")>(t??"")?e:t)??"",m=(e="")=>A(((e=[])=>i.fromEntries(e))(),e),L="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(r(L,((e,t)=>[e,t])));const T=t.crypto?e=>t.crypto.getRandomValues(e):e=>r(e,(()=>s(256*a.random()))),H=(e=16)=>{return t=(e,t)=>e+L[63&t],T(new Uint8Array(e)).reduce(t,"");var t};exports.createBroadcastChannelSynchronizer=(t,a,s)=>{const r=H(),i=new BroadcastChannel(a);return((t,a,s,r,i,l,c={})=>{let g,L=0,T=0;const D=w();s(((e,s,r,i)=>{T++,0==r?o(v(D,s),(([t,a])=>n(t)||t==e?a(i,e):0)):2==r&&R.isAutoLoading()?P(e,i).then((e=>{g?.(void 0,e)})):3==r&&R.isAutoLoading()?g?.(void 0,i):o(1==r&&R.isAutoSaving()?t.getMergeableContentHashes():4==r?t.getMergeableTableDiff(i):5==r?t.getMergeableRowDiff(i):6==r?t.getMergeableCellDiff(i):7==r?t.getMergeableValueDiff(i):void 0,(t=>{L++,a(e,s,0,t)}))}));const E=async(t,s,n="")=>new e(((e,o)=>{const r=H(),l=setTimeout((()=>{p(D,r),o(`No response from ${t??"anyone"} to '${s}'`)}),1e3*i);b(D,r,[t,(t,a)=>{clearTimeout(l),p(D,r),e([t,a])}]),L++,a(t,r,s,n)})),z=(e,[t,a])=>{y(t,(([t,a],s)=>{const n=h(e[0],s,m);y(t,(([e,t],a)=>{const s=h(n[0],a,m);y(e,(([e,t],a)=>s[0][a]=A(e,t))),s[1]=S(s[1],t)})),n[1]=S(n[1],a)})),e[1]=S(e[1],a)},P=async(e=null,a)=>{n(a)&&([a,e]=await E(e,1));const[s,o]=a,[r,i]=t.getMergeableContentHashes();let l=m();if(r!=s){const[a,s]=(await E(e,4,t.getMergeableTableHashes()))[0];if(l=a,!d(s)){const[a,n]=(await E(e,5,t.getMergeableRowHashes(s)))[0];if(z(l,a),!d(n)){const a=(await E(e,6,t.getMergeableCellHashes(n)))[0];z(l,a)}}}return[l,i==o?m():(await E(e,7,t.getMergeableValueHashes()))[0],1]},R=((e,t,a,s,r,i,l,c={},g=[])=>{let y,h,p,w=0,A=0,S=0;f(M,g,(()=>0)),f(C,g,(()=>[]));const[m,L,T,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!d(e)||!d(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!d(e)||!d(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(l,e),E=t=>{var a;(m&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},z=async e=>(2!=w&&(w=1,A++,await x((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}w=0}))),B),P=()=>(h&&(r(h),h=void 0),B),R=async e=>(1!=w&&(w=2,S++,await x((async()=>{try{await a(L,e)}catch(e){i?.(e)}w=0}))),B),V=()=>(o(p,e.delListener),p=void 0,B),x=async(...e)=>(((e,...t)=>{e.push(...t)})(v(C,g),...e),await(async()=>{if(!v(M,g)){for(b(M,g,1);!n((e=v(C,g),y=e.shift()));)try{await y()}catch(e){i?.(e)}b(M,g,0)}var e})(),B),B={load:z,startAutoLoad:async e=>(await P().load(e),h=s((async(e,t)=>{t||e?2!=w&&(w=1,A++,E(t??e),w=0):await z()})),B),stopAutoLoad:P,isAutoLoading:()=>!n(h),save:R,startAutoSave:async()=>(await V().save(),p=e.addDidFinishTransactionListener((()=>{const e=T();H(e)&&R(e)})),B),stopAutoSave:V,isAutoSaving:()=>!n(p),schedule:x,getStore:()=>e,destroy:()=>P().stopAutoSave(),getStats:()=>({loads:A,saves:S}),...c};return u(B)})(t,(async()=>{const e=await P();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(e,s)=>{L++,s?a(null,null,3,s):a(null,null,2,t.getMergeableContentHashes())}),(e=>g=e),(()=>g=void 0),l,2,{startSync:async e=>await(await R.startAutoLoad(e)).startAutoSave(),stopSync:()=>R.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),R.stopSync()),getSynchronizerStats:()=>({sends:L,receives:T}),...c});return R})(t,((e,t,a,s)=>i.postMessage([r,e,t,a,s])),(e=>{i.onmessage=({data:[t,a,s,o,i]})=>n(a)||a==r?e(t,s,o,i):0}),(()=>{i.close()}),.01,s,{getChannelName:()=>a})};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t)=>e.map(t),i=Object,l=e=>i.getPrototypeOf(e),c=i.entries,g=i.keys,u=i.freeze,y=(e,t)=>((e,t)=>e.forEach(t))(c(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(l(e),(e=>e==i.prototype||n(l(e))),(()=>!0)))(e)&&0==(e=>g(e).length)(e),h=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),p=(e,t)=>e?.delete(t),w=e=>new Map(e),v=(e,t)=>e?.get(t),b=(e,t,a)=>n(a)?(p(e,t),e):e?.set(t,a),f=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||b(e,t,a()),v(e,t)},M=w(),C=w();new t.TextEncoder;const A=(e,t)=>t?[e,t]:[e],S=(e,t)=>((e??"")>(t??"")?e:t)??"",m=(e="")=>A(((e=[])=>i.fromEntries(e))(),e),L="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(r(L,((e,t)=>[e,t])));const T=t.crypto?e=>t.crypto.getRandomValues(e):e=>r(e,(()=>s(256*a.random()))),H=(e=16)=>{return t=(e,t)=>e+L[63&t],T(new Uint8Array(e)).reduce(t,"");var t};exports.createBroadcastChannelSynchronizer=(t,a,s)=>{const r=H(),i=new BroadcastChannel(a);return((t,a,s,r,i,l,c={})=>{let g,L=0,T=0;const D=w();s(((e,s,r,i)=>{T++,0==r?o(v(D,s),(([t,a])=>n(t)||t==e?a(i,e):0)):2==r&&R.isAutoLoading()?P(e,i).then((e=>{g?.(void 0,e)})):3==r&&R.isAutoLoading()?g?.(void 0,i):o(1==r&&R.isAutoSaving()?t.getMergeableContentHashes():4==r?t.getMergeableTableDiff(i):5==r?t.getMergeableRowDiff(i):6==r?t.getMergeableCellDiff(i):7==r?t.getMergeableValueDiff(i):void 0,(t=>{L++,a(e,s,0,t)}))}));const E=async(t,s,n="")=>new e(((e,o)=>{const r=H(),l=setTimeout((()=>{p(D,r),o(`No response from ${t??"anyone"} to '${s}'`)}),1e3*i);b(D,r,[t,(t,a)=>{clearTimeout(l),p(D,r),e([t,a])}]),L++,a(t,r,s,n)})),z=(e,[t,a])=>{y(t,(([t,a],s)=>{const n=h(e[0],s,m);y(t,(([e,t],a)=>{const s=h(n[0],a,m);y(e,(([e,t],a)=>s[0][a]=A(e,t))),s[1]=S(s[1],t)})),n[1]=S(n[1],a)})),e[1]=S(e[1],a)},P=async(e=null,a)=>{n(a)&&([a,e]=await E(e,1));const[s,o]=a,[r,i]=t.getMergeableContentHashes();let l=m();if(r!=s){const[a,s]=(await E(e,4,t.getMergeableTableHashes()))[0];if(l=a,!d(s)){const[a,n]=(await E(e,5,t.getMergeableRowHashes(s)))[0];if(z(l,a),!d(n)){const a=(await E(e,6,t.getMergeableCellHashes(n)))[0];z(l,a)}}}return[l,i==o?m():(await E(e,7,t.getMergeableValueHashes()))[0],1]},R=((e,t,a,s,r,i,l,c={},g=[])=>{let y,h,p,w=0,A=0,S=0;f(M,g,(()=>0)),f(C,g,(()=>[]));const[m,L,T,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!d(e)||!d(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!d(e)||!d(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(l,e),E=t=>{var a;(m&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},z=async e=>(2!=w&&(w=1,A++,await x((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}w=0}))),B),P=()=>(h&&(r(h),h=void 0),B),R=async e=>(1!=w&&(w=2,S++,await x((async()=>{try{await a(L,e)}catch(e){i?.(e)}w=0}))),B),V=()=>(o(p,e.delListener),p=void 0,B),x=async(...e)=>(((e,...t)=>{e.push(...t)})(v(C,g),...e),await(async()=>{if(!v(M,g)){for(b(M,g,1);!n((e=v(C,g),y=e.shift()));)try{await y()}catch(e){i?.(e)}b(M,g,0)}var e})(),B),B={load:z,startAutoLoad:async e=>(await P().load(e),h=s((async(e,t)=>{t||e?2!=w&&(w=1,A++,E(t??e),w=0):await z()})),B),stopAutoLoad:P,isAutoLoading:()=>!n(h),save:R,startAutoSave:async()=>(await V().save(),p=e.addDidFinishTransactionListener((()=>{const e=T();H(e)&&R(e)})),B),stopAutoSave:V,isAutoSaving:()=>!n(p),schedule:x,getStore:()=>e,destroy:()=>P().stopAutoSave(),getStats:()=>({loads:A,saves:S}),...c};return u(B)})(t,(async()=>{const e=await P();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(e,s)=>{L++,s?a(null,null,3,s):a(null,null,2,t.getMergeableContentHashes())}),(e=>g=e),(()=>g=void 0),l,2,{startSync:async e=>await(await R.startAutoLoad(e)).startAutoSave(),stopSync:()=>R.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),R.stopSync()),getSynchronizerStats:()=>({sends:L,receives:T}),...c});return R})(t,((e,t,a,s)=>i.postMessage([r,e,t,a,s])),(e=>{i.onmessage=({data:[t,a,s,o,i]})=>n(a)||a==r?e(t,s,o,i):0}),(()=>{i.close()}),.01,s,{getChannelName:()=>a})};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t,a)=>e.slice(t,a),i=t=>new e(t),c=(e,t)=>e.map(t),l=Object,g=e=>l.getPrototypeOf(e),y=l.entries,d=l.keys,u=l.freeze,h=(e,t)=>((e,t)=>e.forEach(t))(y(e),(([e,a])=>t(a,e))),p=e=>(e=>!n(e)&&o(g(e),(e=>e==l.prototype||n(g(e))),(()=>!0)))(e)&&0==(e=>d(e).length)(e),v=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),f=(e,t)=>e?.delete(t),w=e=>new Map(e),b=(e,t)=>e?.get(t),S=(e,t,a)=>n(a)?(f(e,t),e):e?.set(t,a),M=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||S(e,t,a()),b(e,t)},A=w(),C=w();new t.TextEncoder;const L=(e,t)=>t?[e,t]:[e],m=(e,t)=>((e??"")>(t??"")?e:t)??"",T=(e="")=>L(((e=[])=>l.fromEntries(e))(),e),H="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(c(H,((e,t)=>[e,t])));const D=t.crypto?e=>t.crypto.getRandomValues(e):e=>c(e,(()=>s(256*a.random())));exports.createWsSynchronizer=async(e,t,a=1,s)=>{
|
|
1
|
+
"use strict";const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t,a)=>e.slice(t,a),i=t=>new e(t),c=(e,t)=>e.map(t),l=Object,g=e=>l.getPrototypeOf(e),y=l.entries,d=l.keys,u=l.freeze,h=(e,t)=>((e,t)=>e.forEach(t))(y(e),(([e,a])=>t(a,e))),p=e=>(e=>!n(e)&&o(g(e),(e=>e==l.prototype||n(g(e))),(()=>!0)))(e)&&0==(e=>d(e).length)(e),v=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),f=(e,t)=>e?.delete(t),w=e=>new Map(e),b=(e,t)=>e?.get(t),S=(e,t,a)=>n(a)?(f(e,t),e):e?.set(t,a),M=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||S(e,t,a()),b(e,t)},A=w(),C=w();new t.TextEncoder;const L=(e,t)=>t?[e,t]:[e],m=(e,t)=>((e??"")>(t??"")?e:t)??"",T=(e="")=>L(((e=[])=>l.fromEntries(e))(),e),H="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(c(H,((e,t)=>[e,t])));const D=t.crypto?e=>t.crypto.getRandomValues(e):e=>c(e,(()=>s(256*a.random())));exports.createWsSynchronizer=async(e,t,a=1,s)=>{const c=(e,a)=>t.addEventListener(e,a),l=((e,t,a,s,r,c,l={})=>{let g,y=0,d=0;const E=w();a(((a,s,r,i)=>{d++,0==r?o(b(E,s),(([e,t])=>n(e)||e==a?t(i,a):0)):2==r&&x.isAutoLoading()?P(a,i).then((e=>{g?.(void 0,e)})):3==r&&x.isAutoLoading()?g?.(void 0,i):o(1==r&&x.isAutoSaving()?e.getMergeableContentHashes():4==r?e.getMergeableTableDiff(i):5==r?e.getMergeableRowDiff(i):6==r?e.getMergeableCellDiff(i):7==r?e.getMergeableValueDiff(i):void 0,(e=>{y++,t(a,s,0,e)}))}));const O=async(e,a,s="")=>i(((n,o)=>{const i=((e=16)=>{return t=(e,t)=>e+H[63&t],D(new Uint8Array(e)).reduce(t,"");var t})(),c=setTimeout((()=>{f(E,i),o(`No response from ${e??"anyone"} to '${a}'`)}),1e3*r);S(E,i,[e,(e,t)=>{clearTimeout(c),f(E,i),n([e,t])}]),y++,t(e,i,a,s)})),N=(e,[t,a])=>{h(t,(([t,a],s)=>{const n=v(e[0],s,T);h(t,(([e,t],a)=>{const s=v(n[0],a,T);h(e,(([e,t],a)=>s[0][a]=L(e,t))),s[1]=m(s[1],t)})),n[1]=m(n[1],a)})),e[1]=m(e[1],a)},P=async(t=null,a)=>{n(a)&&([a,t]=await O(t,1));const[s,o]=a,[r,i]=e.getMergeableContentHashes();let c=T();if(r!=s){const[a,s]=(await O(t,4,e.getMergeableTableHashes()))[0];if(c=a,!p(s)){const[a,n]=(await O(t,5,e.getMergeableRowHashes(s)))[0];if(N(c,a),!p(n)){const a=(await O(t,6,e.getMergeableCellHashes(n)))[0];N(c,a)}}}return[c,i==o?T():(await O(t,7,e.getMergeableValueHashes()))[0],1]},x=((e,t,a,s,r,i,c,l={},g=[])=>{let y,d,h,v=0,f=0,w=0;M(A,g,(()=>0)),M(C,g,(()=>[]));const[L,m,T,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!p(e)||!p(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!p(e)||!p(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(c,e),E=t=>{var a;(L&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},O=async e=>(2!=v&&(v=1,f++,await z((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}v=0}))),R),N=()=>(d&&(r(d),d=void 0),R),P=async e=>(1!=v&&(v=2,w++,await z((async()=>{try{await a(m,e)}catch(e){i?.(e)}v=0}))),R),x=()=>(o(h,e.delListener),h=void 0,R),z=async(...e)=>(((e,...t)=>{e.push(...t)})(b(C,g),...e),await(async()=>{if(!b(A,g)){for(S(A,g,1);!n((e=b(C,g),y=e.shift()));)try{await y()}catch(e){i?.(e)}S(A,g,0)}var e})(),R),R={load:O,startAutoLoad:async e=>(await N().load(e),d=s((async(e,t)=>{t||e?2!=v&&(v=1,f++,E(t??e),v=0):await O()})),R),stopAutoLoad:N,isAutoLoading:()=>!n(d),save:P,startAutoSave:async()=>(await x().save(),h=e.addDidFinishTransactionListener((()=>{const e=T();H(e)&&P(e)})),R),stopAutoSave:x,isAutoSaving:()=>!n(h),schedule:z,getStore:()=>e,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:f,saves:w}),...l};return u(R)})(e,(async()=>{const e=await P();return p(e[0][0])&&p(e[1][0])?void 0:e}),(async(a,s)=>{y++,s?t(null,null,3,s):t(null,null,2,e.getMergeableContentHashes())}),(e=>g=e),(()=>g=void 0),c,2,{startSync:async e=>await(await x.startAutoLoad(e)).startAutoSave(),stopSync:()=>x.stopAutoLoad().stopAutoSave(),destroy:()=>(s(),x.stopSync()),getSynchronizerStats:()=>({sends:y,receives:d}),...l});return x})(e,((e,...a)=>t.send((e??"")+"\n"+JSON.stringify(a,((e,t)=>void 0===t?"":t)))),(e=>c("message",(({data:t})=>{const a=t.toString("utf8").indexOf("\n");var s;-1!==a&&e(r(t,0,a),...(s=r(t,a+1),JSON.parse(s,((e,t)=>""===t?void 0:t))))}))),(()=>{t.close()}),a,s,{getWebSocket:()=>t});return i(((e,a)=>{t.readyState!=t.OPEN?(c("error",a),c("open",(()=>e(l)))):e(l)}))};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t,a)=>e.slice(t,a),i=t=>new e(t),c=(e,t)=>e.map(t),l=Object,g=e=>l.getPrototypeOf(e),y=l.entries,d=l.keys,u=l.freeze,h=(e,t)=>((e,t)=>e.forEach(t))(y(e),(([e,a])=>t(a,e))),p=e=>(e=>!n(e)&&o(g(e),(e=>e==l.prototype||n(g(e))),(()=>!0)))(e)&&0==(e=>d(e).length)(e),v=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),f=(e,t)=>e?.delete(t),w=e=>new Map(e),b=(e,t)=>e?.get(t),S=(e,t,a)=>n(a)?(f(e,t),e):e?.set(t,a),M=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||S(e,t,a()),b(e,t)},A=w(),C=w();new t.TextEncoder;const L=(e,t)=>t?[e,t]:[e],m=(e,t)=>((e??"")>(t??"")?e:t)??"",T=(e="")=>L(((e=[])=>l.fromEntries(e))(),e),H="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(c(H,((e,t)=>[e,t])));const D=t.crypto?e=>t.crypto.getRandomValues(e):e=>c(e,(()=>s(256*a.random())));exports.createWsSynchronizer=async(e,t,a=1,s)=>{
|
|
1
|
+
"use strict";const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t,a)=>e.slice(t,a),i=t=>new e(t),c=(e,t)=>e.map(t),l=Object,g=e=>l.getPrototypeOf(e),y=l.entries,d=l.keys,u=l.freeze,h=(e,t)=>((e,t)=>e.forEach(t))(y(e),(([e,a])=>t(a,e))),p=e=>(e=>!n(e)&&o(g(e),(e=>e==l.prototype||n(g(e))),(()=>!0)))(e)&&0==(e=>d(e).length)(e),v=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),f=(e,t)=>e?.delete(t),w=e=>new Map(e),b=(e,t)=>e?.get(t),S=(e,t,a)=>n(a)?(f(e,t),e):e?.set(t,a),M=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||S(e,t,a()),b(e,t)},A=w(),C=w();new t.TextEncoder;const L=(e,t)=>t?[e,t]:[e],m=(e,t)=>((e??"")>(t??"")?e:t)??"",T=(e="")=>L(((e=[])=>l.fromEntries(e))(),e),H="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(c(H,((e,t)=>[e,t])));const D=t.crypto?e=>t.crypto.getRandomValues(e):e=>c(e,(()=>s(256*a.random())));exports.createWsSynchronizer=async(e,t,a=1,s)=>{const c=(e,a)=>t.addEventListener(e,a),l=((e,t,a,s,r,c,l={})=>{let g,y=0,d=0;const E=w();a(((a,s,r,i)=>{d++,0==r?o(b(E,s),(([e,t])=>n(e)||e==a?t(i,a):0)):2==r&&x.isAutoLoading()?P(a,i).then((e=>{g?.(void 0,e)})):3==r&&x.isAutoLoading()?g?.(void 0,i):o(1==r&&x.isAutoSaving()?e.getMergeableContentHashes():4==r?e.getMergeableTableDiff(i):5==r?e.getMergeableRowDiff(i):6==r?e.getMergeableCellDiff(i):7==r?e.getMergeableValueDiff(i):void 0,(e=>{y++,t(a,s,0,e)}))}));const O=async(e,a,s="")=>i(((n,o)=>{const i=((e=16)=>{return t=(e,t)=>e+H[63&t],D(new Uint8Array(e)).reduce(t,"");var t})(),c=setTimeout((()=>{f(E,i),o(`No response from ${e??"anyone"} to '${a}'`)}),1e3*r);S(E,i,[e,(e,t)=>{clearTimeout(c),f(E,i),n([e,t])}]),y++,t(e,i,a,s)})),N=(e,[t,a])=>{h(t,(([t,a],s)=>{const n=v(e[0],s,T);h(t,(([e,t],a)=>{const s=v(n[0],a,T);h(e,(([e,t],a)=>s[0][a]=L(e,t))),s[1]=m(s[1],t)})),n[1]=m(n[1],a)})),e[1]=m(e[1],a)},P=async(t=null,a)=>{n(a)&&([a,t]=await O(t,1));const[s,o]=a,[r,i]=e.getMergeableContentHashes();let c=T();if(r!=s){const[a,s]=(await O(t,4,e.getMergeableTableHashes()))[0];if(c=a,!p(s)){const[a,n]=(await O(t,5,e.getMergeableRowHashes(s)))[0];if(N(c,a),!p(n)){const a=(await O(t,6,e.getMergeableCellHashes(n)))[0];N(c,a)}}}return[c,i==o?T():(await O(t,7,e.getMergeableValueHashes()))[0],1]},x=((e,t,a,s,r,i,c,l={},g=[])=>{let y,d,h,v=0,f=0,w=0;M(A,g,(()=>0)),M(C,g,(()=>[]));const[L,m,T,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!p(e)||!p(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!p(e)||!p(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(c,e),E=t=>{var a;(L&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},O=async e=>(2!=v&&(v=1,f++,await z((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}v=0}))),R),N=()=>(d&&(r(d),d=void 0),R),P=async e=>(1!=v&&(v=2,w++,await z((async()=>{try{await a(m,e)}catch(e){i?.(e)}v=0}))),R),x=()=>(o(h,e.delListener),h=void 0,R),z=async(...e)=>(((e,...t)=>{e.push(...t)})(b(C,g),...e),await(async()=>{if(!b(A,g)){for(S(A,g,1);!n((e=b(C,g),y=e.shift()));)try{await y()}catch(e){i?.(e)}S(A,g,0)}var e})(),R),R={load:O,startAutoLoad:async e=>(await N().load(e),d=s((async(e,t)=>{t||e?2!=v&&(v=1,f++,E(t??e),v=0):await O()})),R),stopAutoLoad:N,isAutoLoading:()=>!n(d),save:P,startAutoSave:async()=>(await x().save(),h=e.addDidFinishTransactionListener((()=>{const e=T();H(e)&&P(e)})),R),stopAutoSave:x,isAutoSaving:()=>!n(h),schedule:z,getStore:()=>e,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:f,saves:w}),...l};return u(R)})(e,(async()=>{const e=await P();return p(e[0][0])&&p(e[1][0])?void 0:e}),(async(a,s)=>{y++,s?t(null,null,3,s):t(null,null,2,e.getMergeableContentHashes())}),(e=>g=e),(()=>g=void 0),c,2,{startSync:async e=>await(await x.startAutoLoad(e)).startAutoSave(),stopSync:()=>x.stopAutoLoad().stopAutoSave(),destroy:()=>(s(),x.stopSync()),getSynchronizerStats:()=>({sends:y,receives:d}),...l});return x})(e,((e,...a)=>t.send((e??"")+"\n"+JSON.stringify(a,((e,t)=>void 0===t?"":t)))),(e=>c("message",(({data:t})=>{const a=t.toString("utf8").indexOf("\n");var s;-1!==a&&e(r(t,0,a),...(s=r(t,a+1),JSON.parse(s,((e,t)=>""===t?void 0:t))))}))),(()=>{t.close()}),a,s,{getWebSocket:()=>t});return i(((e,a)=>{t.readyState!=t.OPEN?(c("error",a),c("open",(()=>e(l)))):e(l)}))};
|
|
Binary file
|
|
@@ -286,7 +286,7 @@ const Message = {
|
|
|
286
286
|
const createCustomSynchronizer = (
|
|
287
287
|
store,
|
|
288
288
|
send,
|
|
289
|
-
|
|
289
|
+
registerReceive,
|
|
290
290
|
destroyImpl,
|
|
291
291
|
requestTimeoutSeconds,
|
|
292
292
|
onIgnoredError,
|
|
@@ -296,7 +296,7 @@ const createCustomSynchronizer = (
|
|
|
296
296
|
let sends = 0;
|
|
297
297
|
let receives = 0;
|
|
298
298
|
const pendingRequests = mapNew();
|
|
299
|
-
|
|
299
|
+
registerReceive((fromClientId, requestId, message, body) => {
|
|
300
300
|
receives++;
|
|
301
301
|
if (message == Message.Response) {
|
|
302
302
|
ifNotUndefined(
|