atom.io 0.33.3 → 0.33.5
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/dist/data/index.d.ts +0 -3
- package/dist/data/index.d.ts.map +1 -1
- package/dist/eslint-plugin/index.d.ts +0 -5
- package/dist/eslint-plugin/index.d.ts.map +1 -1
- package/dist/internal/index.d.ts +19 -100
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/index.js +33 -33
- package/dist/internal/index.js.map +1 -1
- package/dist/introspection/index.d.ts +1 -8
- package/dist/introspection/index.d.ts.map +1 -1
- package/dist/introspection/index.js +8 -8
- package/dist/introspection/index.js.map +1 -1
- package/dist/json/index.d.ts +0 -4
- package/dist/json/index.d.ts.map +1 -1
- package/dist/main/index.d.ts +5 -28
- package/dist/main/index.d.ts.map +1 -1
- package/dist/main/index.js.map +1 -1
- package/dist/react/index.d.ts +0 -5
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react-devtools/index.css.map +1 -1
- package/dist/react-devtools/index.d.ts +0 -11
- package/dist/react-devtools/index.d.ts.map +1 -1
- package/dist/react-devtools/index.js +5 -2
- package/dist/react-devtools/index.js.map +1 -1
- package/dist/realtime/index.d.ts +1 -2
- package/dist/realtime/index.d.ts.map +1 -1
- package/dist/realtime-client/index.d.ts +3 -14
- package/dist/realtime-client/index.d.ts.map +1 -1
- package/dist/realtime-react/index.d.ts +0 -11
- package/dist/realtime-react/index.d.ts.map +1 -1
- package/dist/realtime-react/index.js +1 -1
- package/dist/realtime-react/index.js.map +1 -1
- package/dist/realtime-server/index.d.ts +25 -15
- package/dist/realtime-server/index.d.ts.map +1 -1
- package/dist/realtime-server/index.js +5 -5
- package/dist/realtime-server/index.js.map +1 -1
- package/dist/realtime-testing/index.d.ts +0 -1
- package/dist/transceivers/set-rtx/index.d.ts +0 -1
- package/dist/web/index.d.ts +0 -1
- package/package.json +26 -26
- package/src/internal/store/withdraw.ts +13 -13
- package/src/main/logger.ts +2 -2
- package/src/react-devtools/AtomIODevtools.tsx +2 -2
|
@@ -20,62 +20,51 @@ import { Socket as Socket$1 } from "socket.io-client";
|
|
|
20
20
|
|
|
21
21
|
//#region src/realtime-client/continuity/register-and-attempt-confirmed-update.d.ts
|
|
22
22
|
declare const useRegisterAndAttemptConfirmedUpdate: (store: Store, continuityKey: string, socket: Socket, optimisticUpdates: AtomIO$10.TransactionUpdate<any>[], confirmedUpdates: AtomIO$10.TransactionUpdate<any>[]) => (confirmed: AtomIO$10.TransactionUpdate<Func>) => void;
|
|
23
|
-
|
|
24
23
|
//#endregion
|
|
25
24
|
//#region src/realtime-client/continuity/use-conceal-state.d.ts
|
|
26
25
|
declare function useConcealState(store: Store): (concealed: AtomToken<unknown>[]) => void;
|
|
27
|
-
|
|
28
26
|
//#endregion
|
|
29
27
|
//#region src/realtime-client/continuity/use-reveal-state.d.ts
|
|
30
28
|
declare function useRevealState(store: Store): (revealed: Json.Array) => void;
|
|
31
|
-
|
|
32
29
|
//#endregion
|
|
33
30
|
//#region src/realtime-client/pull-atom.d.ts
|
|
34
31
|
declare function pullAtom<J extends Json.Serializable>(store: Store, socket: Socket$1, token: AtomIO$9.RegularAtomToken<J>): () => void;
|
|
35
|
-
|
|
36
32
|
//#endregion
|
|
37
33
|
//#region src/realtime-client/pull-atom-family-member.d.ts
|
|
34
|
+
/* eslint-disable no-console */
|
|
38
35
|
declare function pullAtomFamilyMember<J extends Json.Serializable>(store: Store, socket: Socket$1, token: AtomIO$8.RegularAtomToken<J>): () => void;
|
|
39
|
-
|
|
40
36
|
//#endregion
|
|
41
37
|
//#region src/realtime-client/pull-mutable-atom.d.ts
|
|
42
38
|
declare function pullMutableAtom<T extends Transceiver<any>, J extends Json.Serializable>(store: Store, socket: Socket$1, token: AtomIO$7.MutableAtomToken<T, J>): () => void;
|
|
43
|
-
|
|
44
39
|
//#endregion
|
|
45
40
|
//#region src/realtime-client/pull-mutable-atom-family-member.d.ts
|
|
41
|
+
/* eslint-disable no-console */
|
|
46
42
|
declare function pullMutableAtomFamilyMember<T extends Transceiver<any>, J extends Json.Serializable>(store: Store, socket: Socket$1, token: AtomIO$6.MutableAtomToken<T, J>): () => void;
|
|
47
|
-
|
|
48
43
|
//#endregion
|
|
49
44
|
//#region src/realtime-client/pull-selector.d.ts
|
|
50
45
|
declare function pullSelector<T>(store: Store, socket: Socket$1, token: AtomIO$5.SelectorToken<T>): () => void;
|
|
51
|
-
|
|
52
46
|
//#endregion
|
|
53
47
|
//#region src/realtime-client/pull-selector-family-member.d.ts
|
|
48
|
+
/* eslint-disable no-console */
|
|
54
49
|
declare function pullSelectorFamilyMember<T>(store: Store, socket: Socket$1, token: AtomIO$4.SelectorToken<T>): () => void;
|
|
55
|
-
|
|
56
50
|
//#endregion
|
|
57
51
|
//#region src/realtime-client/push-state.d.ts
|
|
58
52
|
declare function pushState<J extends Json.Serializable>(store: Internal$1.Store, socket: Socket$1, token: AtomIO$3.WritableToken<J>): () => void;
|
|
59
|
-
|
|
60
53
|
//#endregion
|
|
61
54
|
//#region src/realtime-client/realtime-client-stores/client-main-store.d.ts
|
|
62
55
|
declare const myIdState__INTERNAL: AtomIO$2.RegularAtomToken<string | undefined>;
|
|
63
56
|
declare const myIdState: AtomIO$2.ReadonlyPureSelectorToken<string | undefined>;
|
|
64
57
|
declare const myUsernameState: AtomIO$2.RegularAtomToken<string | null>;
|
|
65
|
-
|
|
66
58
|
//#endregion
|
|
67
59
|
//#region src/realtime-client/realtime-client-stores/client-sync-store.d.ts
|
|
68
60
|
declare const optimisticUpdateQueue: AtomIO$1.RegularAtomToken<AtomIO$1.TransactionUpdate<any>[]>;
|
|
69
61
|
declare const confirmedUpdateQueue: AtomIO$1.RegularAtomToken<AtomIO$1.TransactionUpdate<any>[]>;
|
|
70
|
-
|
|
71
62
|
//#endregion
|
|
72
63
|
//#region src/realtime-client/server-action.d.ts
|
|
73
64
|
declare function serverAction<F extends Internal.Func>(store: Internal.Store, socket: Socket$1, token: AtomIO.TransactionToken<F>): () => void;
|
|
74
|
-
|
|
75
65
|
//#endregion
|
|
76
66
|
//#region src/realtime-client/sync-continuity.d.ts
|
|
77
67
|
declare function syncContinuity(store: Store, socket: Socket$1, continuity: ContinuityToken): () => void;
|
|
78
|
-
|
|
79
68
|
//#endregion
|
|
80
69
|
export { confirmedUpdateQueue, myIdState, myIdState__INTERNAL, myUsernameState, optimisticUpdateQueue, pullAtom, pullAtomFamilyMember, pullMutableAtom, pullMutableAtomFamilyMember, pullSelector, pullSelectorFamilyMember, pushState, serverAction, syncContinuity, useConcealState, useRegisterAndAttemptConfirmedUpdate, useRevealState };
|
|
81
70
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["store: Store","continuityKey: string","socket: Socket","optimisticUpdates: AtomIO.TransactionUpdate<any>[]","confirmedUpdates: AtomIO.TransactionUpdate<any>[]","confirmed: AtomIO.TransactionUpdate<Func>","store: Store","concealed: AtomToken<unknown>[]","store: Store","revealed: Json.Array","store: Store","socket: Socket","token: AtomIO.RegularAtomToken<J>","store: Store","socket: Socket","token: AtomIO.RegularAtomToken<J>","store: Store","socket: Socket","token: AtomIO.MutableAtomToken<T, J>","store: Store","socket: Socket","token: AtomIO.MutableAtomToken<T, J>","store: Store","socket: Socket","token: AtomIO.SelectorToken<T>","store: Store","socket: Socket","token: AtomIO.SelectorToken<T>","store: Internal.Store","socket: Socket","token: AtomIO.WritableToken<J>","myIdState__INTERNAL: AtomIO.RegularAtomToken<string | undefined>","myIdState: AtomIO.ReadonlyPureSelectorToken<string | undefined>","myUsernameState: AtomIO.RegularAtomToken<string | null>","optimisticUpdateQueue: AtomIO.RegularAtomToken<\n\tAtomIO.TransactionUpdate<any>[]\n>","confirmedUpdateQueue: AtomIO.RegularAtomToken<\n\tAtomIO.TransactionUpdate<any>[]\n>","store: Internal.Store","socket: Socket","token: AtomIO.TransactionToken<F>","store: Store","socket: Socket","continuity: ContinuityToken"],"sources":["../../src/realtime-client/continuity/register-and-attempt-confirmed-update.ts","../../src/realtime-client/continuity/use-conceal-state.ts","../../src/realtime-client/continuity/use-reveal-state.ts","../../src/realtime-client/pull-atom.ts","../../src/realtime-client/pull-atom-family-member.ts","../../src/realtime-client/pull-mutable-atom.ts","../../src/realtime-client/pull-mutable-atom-family-member.ts","../../src/realtime-client/pull-selector.ts","../../src/realtime-client/pull-selector-family-member.ts","../../src/realtime-client/push-state.ts","../../src/realtime-client/realtime-client-stores/client-main-store.ts","../../src/realtime-client/realtime-client-stores/client-sync-store.ts","../../src/realtime-client/server-action.ts","../../src/realtime-client/sync-continuity.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;cAgBa,8CAEJ,sCAEC,2BACW,SAAA,CAAO,4CACR,SAAA,CAAO,yCAEd,SAAA,CAAO,kBAAkB
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["store: Store","continuityKey: string","socket: Socket","optimisticUpdates: AtomIO.TransactionUpdate<any>[]","confirmedUpdates: AtomIO.TransactionUpdate<any>[]","confirmed: AtomIO.TransactionUpdate<Func>","store: Store","concealed: AtomToken<unknown>[]","store: Store","revealed: Json.Array","store: Store","socket: Socket","token: AtomIO.RegularAtomToken<J>","store: Store","socket: Socket","token: AtomIO.RegularAtomToken<J>","store: Store","socket: Socket","token: AtomIO.MutableAtomToken<T, J>","store: Store","socket: Socket","token: AtomIO.MutableAtomToken<T, J>","store: Store","socket: Socket","token: AtomIO.SelectorToken<T>","store: Store","socket: Socket","token: AtomIO.SelectorToken<T>","store: Internal.Store","socket: Socket","token: AtomIO.WritableToken<J>","myIdState__INTERNAL: AtomIO.RegularAtomToken<string | undefined>","myIdState: AtomIO.ReadonlyPureSelectorToken<string | undefined>","myUsernameState: AtomIO.RegularAtomToken<string | null>","optimisticUpdateQueue: AtomIO.RegularAtomToken<\n\tAtomIO.TransactionUpdate<any>[]\n>","confirmedUpdateQueue: AtomIO.RegularAtomToken<\n\tAtomIO.TransactionUpdate<any>[]\n>","store: Internal.Store","socket: Socket","token: AtomIO.TransactionToken<F>","store: Store","socket: Socket","continuity: ContinuityToken"],"sources":["../../src/realtime-client/continuity/register-and-attempt-confirmed-update.ts","../../src/realtime-client/continuity/use-conceal-state.ts","../../src/realtime-client/continuity/use-reveal-state.ts","../../src/realtime-client/pull-atom.ts","../../src/realtime-client/pull-atom-family-member.ts","../../src/realtime-client/pull-mutable-atom.ts","../../src/realtime-client/pull-mutable-atom-family-member.ts","../../src/realtime-client/pull-selector.ts","../../src/realtime-client/pull-selector-family-member.ts","../../src/realtime-client/push-state.ts","../../src/realtime-client/realtime-client-stores/client-main-store.ts","../../src/realtime-client/realtime-client-stores/client-sync-store.ts","../../src/realtime-client/server-action.ts","../../src/realtime-client/sync-continuity.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;cAgBa,8CAEJ,sCAEC,2BACW,SAAA,CAAO,4CACR,SAAA,CAAO,yCAEd,SAAA,CAAO,kBAAkB;;;iBCpBtB,eAAA,QAAuB,oBACnB;;;iBCFJ,cAAA,QAAsB,mBACnB,IAAA,CAAK;;;iBCCR,mBAAmB,IAAA,CAAK,qBAChC,eACC,iBACD,QAAA,CAAO,iBAAiB;;;;iBCAhB,+BAA+B,IAAA,CAAK,qBAC5C,eACC,iBACD,QAAA,CAAO,iBAAiB;;;iBCLhB,0BACL,4BACA,IAAA,CAAK,qBAER,eACC,iBACD,QAAA,CAAO,iBAAiB,GAAG;;;;iBCHnB,sCACL,4BACA,IAAA,CAAK,qBAER,eACC,iBACD,QAAA,CAAO,iBAAiB,GAAG;;;iBCRnB,uBACR,eACC,iBACD,QAAA,CAAO,cAAc;;;;iBCDb,mCACR,eACC,iBACD,QAAA,CAAO,cAAc;;;iBCPb,oBAAoB,IAAA,CAAK,qBACjC,UAAA,CAAS,eACR,iBACD,QAAA,CAAO,cAAc;;;cCLhB+B,qBAAqB,QAAA,CAAO;cAK5BC,WAAW,QAAA,CAAO;cAMlBC,iBAAiB,QAAA,CAAO;;;cCZxBC,uBAAuB,QAAA,CAAO,iBAC1C,QAAA,CAAO;cAMKC,sBAAsB,QAAA,CAAO,iBACzC,QAAA,CAAO;;;iBCNQ,uBAAuB,QAAA,CAAS,aACxC,QAAA,CAAS,eACR,iBACD,MAAA,CAAO,iBAAiB;;;iBCchB,cAAA,QACR,eACC,sBACI"}
|
|
@@ -14,7 +14,6 @@ import { Socket } from "socket.io-client";
|
|
|
14
14
|
|
|
15
15
|
//#region src/realtime-react/on-mount.d.ts
|
|
16
16
|
declare function onMount(effect: () => (() => void) | undefined | void): void;
|
|
17
|
-
|
|
18
17
|
//#endregion
|
|
19
18
|
//#region src/realtime-react/realtime-context.d.ts
|
|
20
19
|
type RealtimeReactStore = {
|
|
@@ -26,43 +25,33 @@ declare const RealtimeProvider: React.FC<{
|
|
|
26
25
|
children: React.ReactNode;
|
|
27
26
|
socket: Socket | null;
|
|
28
27
|
}>;
|
|
29
|
-
|
|
30
28
|
//#endregion
|
|
31
29
|
//#region src/realtime-react/use-pull-atom.d.ts
|
|
32
30
|
declare function usePullAtom<J extends Json.Serializable>(token: AtomIO$7.RegularAtomToken<J>): J;
|
|
33
|
-
|
|
34
31
|
//#endregion
|
|
35
32
|
//#region src/realtime-react/use-pull-atom-family-member.d.ts
|
|
36
33
|
declare function usePullAtomFamilyMember<J extends Json.Serializable, K extends Canonical, Key extends K>(family: AtomIO$6.RegularAtomFamilyToken<J, K>, subKey: Key): J;
|
|
37
|
-
|
|
38
34
|
//#endregion
|
|
39
35
|
//#region src/realtime-react/use-pull-mutable-atom.d.ts
|
|
40
36
|
declare function usePullMutable<T extends Transceiver<any>, J extends Json.Serializable>(token: AtomIO$5.MutableAtomToken<T, J>): T;
|
|
41
|
-
|
|
42
37
|
//#endregion
|
|
43
38
|
//#region src/realtime-react/use-pull-mutable-family-member.d.ts
|
|
44
39
|
declare function usePullMutableAtomFamilyMember<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(familyToken: AtomIO$4.MutableAtomFamilyToken<T, J, K>, key: Key): T;
|
|
45
|
-
|
|
46
40
|
//#endregion
|
|
47
41
|
//#region src/realtime-react/use-pull-selector.d.ts
|
|
48
42
|
declare function usePullSelector<J extends Json.Serializable>(token: AtomIO$3.SelectorToken<J>): J;
|
|
49
|
-
|
|
50
43
|
//#endregion
|
|
51
44
|
//#region src/realtime-react/use-pull-selector-family-member.d.ts
|
|
52
45
|
declare function usePullSelectorFamilyMember<T, K extends Canonical, Key extends K>(familyToken: AtomIO$2.SelectorFamilyToken<T, K>, key: Key): T;
|
|
53
|
-
|
|
54
46
|
//#endregion
|
|
55
47
|
//#region src/realtime-react/use-push.d.ts
|
|
56
48
|
declare function usePush<J extends Json.Serializable>(token: AtomIO$1.WritableToken<J>): <New extends J>(next: New | ((old: J) => New)) => void;
|
|
57
|
-
|
|
58
49
|
//#endregion
|
|
59
50
|
//#region src/realtime-react/use-server-action.d.ts
|
|
60
51
|
declare function useServerAction<F extends Func>(token: AtomIO.TransactionToken<F>): (...parameters: Parameters<F>) => ReturnType<F>;
|
|
61
|
-
|
|
62
52
|
//#endregion
|
|
63
53
|
//#region src/realtime-react/use-sync-continuity.d.ts
|
|
64
54
|
declare function useSyncContinuity(token: ContinuityToken): void;
|
|
65
|
-
|
|
66
55
|
//#endregion
|
|
67
56
|
export { RealtimeContext, RealtimeProvider, RealtimeReactStore, onMount, usePullAtom, usePullAtomFamilyMember, usePullMutable, usePullMutableAtomFamilyMember, usePullSelector, usePullSelectorFamilyMember, usePush, useServerAction, useSyncContinuity };
|
|
68
57
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["effect: () => (() => void) | undefined | void","RealtimeContext: React.Context<RealtimeReactStore>","RealtimeProvider: React.FC<{\n\tchildren: React.ReactNode\n\tsocket: Socket | null\n}>","token: AtomIO.RegularAtomToken<J>","family: AtomIO.RegularAtomFamilyToken<J, K>","subKey: Key","token: AtomIO.MutableAtomToken<T, J>","familyToken: AtomIO.MutableAtomFamilyToken<T, J, K>","key: Key","token: AtomIO.SelectorToken<J>","familyToken: AtomIO.SelectorFamilyToken<T, K>","key: Key","token: AtomIO.WritableToken<J>","next: New | ((old: J) => New)","old: J","token: AtomIO.TransactionToken<F>","token: ContinuityToken"],"sources":["../../src/realtime-react/on-mount.ts","../../src/realtime-react/realtime-context.tsx","../../src/realtime-react/use-pull-atom.ts","../../src/realtime-react/use-pull-atom-family-member.ts","../../src/realtime-react/use-pull-mutable-atom.ts","../../src/realtime-react/use-pull-mutable-family-member.ts","../../src/realtime-react/use-pull-selector.ts","../../src/realtime-react/use-pull-selector-family-member.ts","../../src/realtime-react/use-push.ts","../../src/realtime-react/use-server-action.ts","../../src/realtime-react/use-sync-continuity.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;iBAEgB,OAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["effect: () => (() => void) | undefined | void","RealtimeContext: React.Context<RealtimeReactStore>","RealtimeProvider: React.FC<{\n\tchildren: React.ReactNode\n\tsocket: Socket | null\n}>","token: AtomIO.RegularAtomToken<J>","family: AtomIO.RegularAtomFamilyToken<J, K>","subKey: Key","token: AtomIO.MutableAtomToken<T, J>","familyToken: AtomIO.MutableAtomFamilyToken<T, J, K>","key: Key","token: AtomIO.SelectorToken<J>","familyToken: AtomIO.SelectorFamilyToken<T, K>","key: Key","token: AtomIO.WritableToken<J>","next: New | ((old: J) => New)","old: J","token: AtomIO.TransactionToken<F>","token: ContinuityToken"],"sources":["../../src/realtime-react/on-mount.ts","../../src/realtime-react/realtime-context.tsx","../../src/realtime-react/use-pull-atom.ts","../../src/realtime-react/use-pull-atom-family-member.ts","../../src/realtime-react/use-pull-mutable-atom.ts","../../src/realtime-react/use-pull-mutable-family-member.ts","../../src/realtime-react/use-pull-selector.ts","../../src/realtime-react/use-pull-selector-family-member.ts","../../src/realtime-react/use-push.ts","../../src/realtime-react/use-server-action.ts","../../src/realtime-react/use-sync-continuity.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;iBAEgB,OAAA;;;KCGJ,kBAAA;UACH;YACE;;cAMEC,iBAAiB,KAAA,CAAM,QAAQ;cAM/BC,kBAAkB,KAAA,CAAM;YAC1B,KAAA,CAAM;UACR;;;;iBCbO,sBAAsB,IAAA,CAAK,qBACnC,QAAA,CAAO,iBAAiB,KAC7B;;;iBCDa,kCACL,IAAA,CAAK,wBACL,uBACE,WACH,QAAA,CAAO,uBAAuB,GAAG,YAAY,MAAM;;;iBCJ7C,yBACL,4BACA,IAAA,CAAK,qBACP,QAAA,CAAO,iBAAiB,GAAG,KAAK;;;iBCFzB,yCACL,4BACA,IAAA,CAAK,wBACL,uBACE,gBACE,QAAA,CAAO,uBAAuB,GAAG,GAAG,SAAS,MAAM;;;iBCNlD,0BAA0B,IAAA,CAAK,qBACvC,QAAA,CAAO,cAAc,KAC1B;;;iBCFa,yCAEL,uBACE,gBACE,QAAA,CAAO,oBAAoB,GAAG,SAAS,MAAM;;;iBCL5C,kBAAkB,IAAA,CAAK,qBAC/B,QAAA,CAAO,cAAc,kBACb,SAAS,aAAa,MAAM;;;iBCD5B,0BAA0B,aAClC,MAAA,CAAO,iBAAiB,qBACb,WAAW,OAAO,WAAW;;;iBCJhC,iBAAA,QAAyB"}
|
|
@@ -57,7 +57,7 @@ const RealtimeContext = React$10.createContext({
|
|
|
57
57
|
services: null
|
|
58
58
|
});
|
|
59
59
|
const RealtimeProvider = ({ children, socket }) => {
|
|
60
|
-
const services = React$10.useRef(new Map()).current;
|
|
60
|
+
const services = React$10.useRef(/* @__PURE__ */ new Map()).current;
|
|
61
61
|
const setMyId = useI(RTC$8.myIdState__INTERNAL);
|
|
62
62
|
React$10.useEffect(() => {
|
|
63
63
|
setMyId(socket?.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["effect: () => (() => void) | undefined | void","deps: unknown[]","effect: () => (() => void) | undefined | void","RealtimeContext: React.Context<RealtimeReactStore>","RealtimeProvider: React.FC<{\n\tchildren: React.ReactNode\n\tsocket: Socket | null\n}>","RTC","key: string","create: (socket: Socket) => (() => void) | undefined","token: AtomIO.RegularAtomToken<J>","family: AtomIO.RegularAtomFamilyToken<J, K>","subKey: Key","token: AtomIO.MutableAtomToken<T, J>","familyToken: AtomIO.MutableAtomFamilyToken<T, J, K>","key: Key","token: AtomIO.SelectorToken<J>","familyToken: AtomIO.SelectorFamilyToken<T, K>","key: Key","token: AtomIO.WritableToken<J>","token: AtomIO.TransactionToken<F>","token: ContinuityToken"],"sources":["../../src/realtime-react/use-single-effect.ts","../../src/realtime-react/on-mount.ts","../../src/realtime-react/realtime-context.tsx","../../src/realtime-react/use-realtime-service.ts","../../src/realtime-react/use-pull-atom.ts","../../src/realtime-react/use-pull-atom-family-member.ts","../../src/realtime-react/use-pull-mutable-atom.ts","../../src/realtime-react/use-pull-mutable-family-member.ts","../../src/realtime-react/use-pull-selector.ts","../../src/realtime-react/use-pull-selector-family-member.ts","../../src/realtime-react/use-push.ts","../../src/realtime-react/use-server-action.ts","../../src/realtime-react/use-sync-continuity.ts"],"sourcesContent":["import * as React from \"react\"\n\n// @ts-expect-error this is a safe way to check a property on the global object\nconst { NODE_ENV } = globalThis[`env`] ?? {}\nconst IN_DEV = NODE_ENV === `development`\n\nfunction noop() {}\n\nexport function useSingleEffect(\n\teffect: () => (() => void) | undefined | void,\n\tdeps: unknown[],\n): void {\n\tif (IN_DEV) {\n\t\tconst cleanup = React.useRef<() => void>(noop)\n\t\tReact.useEffect(() => {\n\t\t\tlet dispose = cleanup.current\n\t\t\tif (dispose === noop) {\n\t\t\t\tdispose = effect() ?? noop\n\t\t\t\tcleanup.current = dispose\n\t\t\t} else {\n\t\t\t\treturn () => {\n\t\t\t\t\tdispose()\n\t\t\t\t\tcleanup.current = noop\n\t\t\t\t}\n\t\t\t}\n\t\t}, deps)\n\t} else {\n\t\tReact.useEffect(effect, deps)\n\t}\n}\n","import { useSingleEffect } from \"./use-single-effect\"\n\nexport function onMount(effect: () => (() => void) | undefined | void): void {\n\tuseSingleEffect(effect, [])\n}\n","import { useI } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\nimport type { Socket } from \"socket.io-client\"\n\nexport type RealtimeReactStore = {\n\tsocket: Socket | null\n\tservices: Map<\n\t\tstring,\n\t\t[consumerCount: number, dispose: (() => void) | undefined]\n\t> | null\n}\n\nexport const RealtimeContext: React.Context<RealtimeReactStore> =\n\tReact.createContext({\n\t\tsocket: null,\n\t\tservices: null,\n\t})\n\nexport const RealtimeProvider: React.FC<{\n\tchildren: React.ReactNode\n\tsocket: Socket | null\n}> = ({ children, socket }) => {\n\tconst services = React.useRef(new Map<string, [number, () => void]>()).current\n\tconst setMyId = useI(RTC.myIdState__INTERNAL)\n\tReact.useEffect(() => {\n\t\tsetMyId(socket?.id)\n\t\tsocket?.on(`connect`, () => {\n\t\t\tsetMyId(socket.id)\n\t\t})\n\t\tsocket?.on(`disconnect`, () => {\n\t\t\tsetMyId(undefined)\n\t\t})\n\t}, [socket, setMyId])\n\treturn (\n\t\t<RealtimeContext.Provider value={{ socket, services }}>\n\t\t\t{children}\n\t\t</RealtimeContext.Provider>\n\t)\n}\n","import * as React from \"react\"\nimport type { Socket } from \"socket.io-client\"\n\nimport { onMount } from \"./on-mount\"\nimport { RealtimeContext } from \"./realtime-context\"\n\nexport function useRealtimeService(\n\tkey: string,\n\tcreate: (socket: Socket) => (() => void) | undefined,\n): void {\n\tconst { socket, services } = React.useContext(RealtimeContext)\n\tonMount(() => {\n\t\tlet service = services?.get(key)\n\t\tif (service) {\n\t\t\tservice[0]++\n\t\t} else {\n\t\t\tconst dispose = socket ? create(socket) : undefined\n\t\t\tservice = [1, dispose]\n\t\t\tservices?.set(key, service)\n\t\t}\n\t\treturn () => {\n\t\t\tif (service) {\n\t\t\t\tservice[0]--\n\t\t\t\tif (service[0] === 0) {\n\t\t\t\t\tservice[1]?.()\n\t\t\t\t\tservices?.delete(key)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t})\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Json } from \"atom.io/json\"\nimport { StoreContext, useO } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function usePullAtom<J extends Json.Serializable>(\n\ttoken: AtomIO.RegularAtomToken<J>,\n): J {\n\tconst store = React.useContext(StoreContext)\n\tuseRealtimeService(`pull:${token.key}`, (socket) =>\n\t\tRTC.pullAtom(store, socket, token),\n\t)\n\treturn useO(token)\n}\n","import type * as AtomIO from \"atom.io\"\nimport { findInStore } from \"atom.io/internal\"\nimport type { Canonical, Json } from \"atom.io/json\"\nimport { StoreContext, useO } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function usePullAtomFamilyMember<\n\tJ extends Json.Serializable,\n\tK extends Canonical,\n\tKey extends K,\n>(family: AtomIO.RegularAtomFamilyToken<J, K>, subKey: Key): J {\n\tconst store = React.useContext(StoreContext)\n\tconst token = findInStore(store, family, subKey)\n\tuseRealtimeService(`pull:${token.key}`, (socket) =>\n\t\tRTC.pullAtomFamilyMember(store, socket, token),\n\t)\n\treturn useO(token)\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Transceiver } from \"atom.io/internal\"\nimport type { Json } from \"atom.io/json\"\nimport { StoreContext, useO } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function usePullMutable<\n\tT extends Transceiver<any>,\n\tJ extends Json.Serializable,\n>(token: AtomIO.MutableAtomToken<T, J>): T {\n\tconst store = React.useContext(StoreContext)\n\tuseRealtimeService(`pull:${token.key}`, (socket) =>\n\t\tRTC.pullMutableAtom(store, socket, token),\n\t)\n\treturn useO(token)\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Transceiver } from \"atom.io/internal\"\nimport { findInStore } from \"atom.io/internal\"\nimport type { Canonical, Json } from \"atom.io/json\"\nimport { StoreContext, useO } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function usePullMutableAtomFamilyMember<\n\tT extends Transceiver<any>,\n\tJ extends Json.Serializable,\n\tK extends Canonical,\n\tKey extends K,\n>(familyToken: AtomIO.MutableAtomFamilyToken<T, J, K>, key: Key): T {\n\tconst store = React.useContext(StoreContext)\n\tconst token = findInStore(store, familyToken, key)\n\tuseRealtimeService(`pull:${token.key}`, (socket) =>\n\t\tRTC.pullMutableAtomFamilyMember(store, socket, token),\n\t)\n\treturn useO(token)\n}\n","import type * as AtomIO from \"atom.io\"\nimport { findInStore } from \"atom.io/internal\"\nimport type { Json } from \"atom.io/json\"\nimport { StoreContext, useO } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function usePullSelector<J extends Json.Serializable>(\n\ttoken: AtomIO.SelectorToken<J>,\n): J {\n\tconst store = React.useContext(StoreContext)\n\tuseRealtimeService(`pull:${token.key}`, (socket) =>\n\t\tRTC.pullSelector(store, socket, token),\n\t)\n\treturn useO(token)\n}\n","import type * as AtomIO from \"atom.io\"\nimport { findInStore } from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\nimport { StoreContext, useO } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function usePullSelectorFamilyMember<\n\tT,\n\tK extends Canonical,\n\tKey extends K,\n>(familyToken: AtomIO.SelectorFamilyToken<T, K>, key: Key): T {\n\tconst store = React.useContext(StoreContext)\n\tconst token = findInStore(store, familyToken, key)\n\tuseRealtimeService(`pull:${token.key}`, (socket) =>\n\t\tRTC.pullSelectorFamilyMember(store, socket, token),\n\t)\n\n\treturn useO(token)\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Json } from \"atom.io/json\"\nimport { StoreContext, useI } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function usePush<J extends Json.Serializable>(\n\ttoken: AtomIO.WritableToken<J>,\n): <New extends J>(next: New | ((old: J) => New)) => void {\n\tconst store = React.useContext(StoreContext)\n\tuseRealtimeService(`push:${token.key}`, (socket) =>\n\t\tRTC.pushState(store, socket, token),\n\t)\n\treturn useI(token)\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Func } from \"atom.io/internal\"\nimport { actUponStore, arbitrary } from \"atom.io/internal\"\nimport { StoreContext } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function useServerAction<F extends Func>(\n\ttoken: AtomIO.TransactionToken<F>,\n): (...parameters: Parameters<F>) => ReturnType<F> {\n\tconst store = React.useContext(StoreContext)\n\n\tuseRealtimeService(`tx:${token.key}`, (socket) =>\n\t\tRTC.serverAction(store, socket, token),\n\t)\n\treturn actUponStore(store, token, arbitrary())\n}\n","import { StoreContext } from \"atom.io/react\"\nimport type { ContinuityToken } from \"atom.io/realtime\"\nimport { syncContinuity } from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function useSyncContinuity(token: ContinuityToken): void {\n\tconst store = React.useContext(StoreContext)\n\tuseRealtimeService(`tx-sync:${token.key}`, (socket) => {\n\t\treturn syncContinuity(store, socket, token)\n\t})\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAM,EAAE,UAAU,GAAG,YAAY,SAAS,CAAE;AAC5C,MAAM,SAAS,cAAc;AAE7B,SAAS,OAAO,CAAE;AAElB,SAAgB,gBACfA,QACAC,MACO;AACP,KAAI,QAAQ;EACX,MAAM,UAAU,SAAM,OAAmB,KAAK;AAC9C,WAAM,UAAU,MAAM;GACrB,IAAI,UAAU,QAAQ;AACtB,OAAI,YAAY,MAAM;AACrB,cAAU,QAAQ,IAAI;AACtB,YAAQ,UAAU;GAClB,MACA,QAAO,MAAM;AACZ,aAAS;AACT,YAAQ,UAAU;GAClB;EAEF,GAAE,KAAK;CACR,MACA,UAAM,UAAU,QAAQ,KAAK;AAE9B;;;;AC3BD,SAAgB,QAAQC,QAAqD;AAC5E,iBAAgB,QAAQ,CAAE,EAAC;AAC3B;;;;ACSD,MAAaC,kBACZ,SAAM,cAAc;CACnB,QAAQ;CACR,UAAU;AACV,EAAC;AAEH,MAAaC,mBAGR,CAAC,EAAE,UAAU,QAAQ,KAAK;CAC9B,MAAM,WAAW,SAAM,OAAO,IAAI,MAAoC,CAAC;CACvE,MAAM,UAAU,KAAKC,MAAI,oBAAoB;AAC7C,UAAM,UAAU,MAAM;AACrB,UAAQ,QAAQ,GAAG;AACnB,UAAQ,IAAI,UAAU,MAAM;AAC3B,WAAQ,OAAO,GAAG;EAClB,EAAC;AACF,UAAQ,IAAI,aAAa,MAAM;AAC9B,kBAAkB;EAClB,EAAC;CACF,GAAE,CAAC,QAAQ,OAAQ,EAAC;AACrB,wBACC,IAAC,gBAAgB;EAAS,OAAO;GAAE;GAAQ;EAAU;EACnD;GACyB;AAE5B;;;;ACjCD,SAAgB,mBACfC,KACAC,QACO;CACP,MAAM,EAAE,QAAQ,UAAU,GAAG,QAAM,WAAW,gBAAgB;AAC9D,SAAQ,MAAM;EACb,IAAI,UAAU,UAAU,IAAI,IAAI;AAChC,MAAI,QACH,SAAQ;OACF;GACN,MAAM,UAAU,SAAS,OAAO,OAAO;AACvC,aAAU,CAAC,GAAG,OAAQ;AACtB,aAAU,IAAI,KAAK,QAAQ;EAC3B;AACD,SAAO,MAAM;AACZ,OAAI,SAAS;AACZ,YAAQ;AACR,QAAI,QAAQ,OAAO,GAAG;AACrB,aAAQ,MAAM;AACd,eAAU,OAAO,IAAI;IACrB;GACD;EACD;CACD,EAAC;AACF;;;;ACtBD,SAAgB,YACfC,OACI;CACJ,MAAM,QAAQ,QAAM,WAAW,aAAa;AAC5C,qBAAoB,OAAO,MAAM,IAAI,GAAG,CAAC,WACxC,MAAI,SAAS,OAAO,QAAQ,MAAM,CAClC;AACD,QAAO,KAAK,MAAM;AAClB;;;;ACPD,SAAgB,wBAIdC,QAA6CC,QAAgB;CAC9D,MAAM,QAAQ,QAAM,WAAW,aAAa;CAC5C,MAAM,QAAQ,YAAY,OAAO,QAAQ,OAAO;AAChD,qBAAoB,OAAO,MAAM,IAAI,GAAG,CAAC,WACxC,MAAI,qBAAqB,OAAO,QAAQ,MAAM,CAC9C;AACD,QAAO,KAAK,MAAM;AAClB;;;;ACXD,SAAgB,eAGdC,OAAyC;CAC1C,MAAM,QAAQ,QAAM,WAAW,aAAa;AAC5C,qBAAoB,OAAO,MAAM,IAAI,GAAG,CAAC,WACxC,MAAI,gBAAgB,OAAO,QAAQ,MAAM,CACzC;AACD,QAAO,KAAK,MAAM;AAClB;;;;ACRD,SAAgB,+BAKdC,aAAqDC,KAAa;CACnE,MAAM,QAAQ,QAAM,WAAW,aAAa;CAC5C,MAAM,QAAQ,YAAY,OAAO,aAAa,IAAI;AAClD,qBAAoB,OAAO,MAAM,IAAI,GAAG,CAAC,WACxC,MAAI,4BAA4B,OAAO,QAAQ,MAAM,CACrD;AACD,QAAO,KAAK,MAAM;AAClB;;;;ACbD,SAAgB,gBACfC,OACI;CACJ,MAAM,QAAQ,QAAM,WAAW,aAAa;AAC5C,qBAAoB,OAAO,MAAM,IAAI,GAAG,CAAC,WACxC,MAAI,aAAa,OAAO,QAAQ,MAAM,CACtC;AACD,QAAO,KAAK,MAAM;AAClB;;;;ACRD,SAAgB,4BAIdC,aAA+CC,KAAa;CAC7D,MAAM,QAAQ,QAAM,WAAW,aAAa;CAC5C,MAAM,QAAQ,YAAY,OAAO,aAAa,IAAI;AAClD,qBAAoB,OAAO,MAAM,IAAI,GAAG,CAAC,WACxC,MAAI,yBAAyB,OAAO,QAAQ,MAAM,CAClD;AAED,QAAO,KAAK,MAAM;AAClB;;;;ACbD,SAAgB,QACfC,OACyD;CACzD,MAAM,QAAQ,QAAM,WAAW,aAAa;AAC5C,qBAAoB,OAAO,MAAM,IAAI,GAAG,CAAC,WACxC,MAAI,UAAU,OAAO,QAAQ,MAAM,CACnC;AACD,QAAO,KAAK,MAAM;AAClB;;;;ACPD,SAAgB,gBACfC,OACkD;CAClD,MAAM,QAAQ,QAAM,WAAW,aAAa;AAE5C,qBAAoB,KAAK,MAAM,IAAI,GAAG,CAAC,WACtC,IAAI,aAAa,OAAO,QAAQ,MAAM,CACtC;AACD,QAAO,aAAa,OAAO,OAAO,WAAW,CAAC;AAC9C;;;;ACXD,SAAgB,kBAAkBC,OAA8B;CAC/D,MAAM,QAAQ,MAAM,WAAW,aAAa;AAC5C,qBAAoB,UAAU,MAAM,IAAI,GAAG,CAAC,WAAW;AACtD,SAAO,eAAe,OAAO,QAAQ,MAAM;CAC3C,EAAC;AACF"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["effect: () => (() => void) | undefined | void","deps: unknown[]","effect: () => (() => void) | undefined | void","RealtimeContext: React.Context<RealtimeReactStore>","RealtimeProvider: React.FC<{\n\tchildren: React.ReactNode\n\tsocket: Socket | null\n}>","RTC","key: string","create: (socket: Socket) => (() => void) | undefined","token: AtomIO.RegularAtomToken<J>","family: AtomIO.RegularAtomFamilyToken<J, K>","subKey: Key","token: AtomIO.MutableAtomToken<T, J>","familyToken: AtomIO.MutableAtomFamilyToken<T, J, K>","key: Key","token: AtomIO.SelectorToken<J>","familyToken: AtomIO.SelectorFamilyToken<T, K>","key: Key","token: AtomIO.WritableToken<J>","token: AtomIO.TransactionToken<F>","token: ContinuityToken"],"sources":["../../src/realtime-react/use-single-effect.ts","../../src/realtime-react/on-mount.ts","../../src/realtime-react/realtime-context.tsx","../../src/realtime-react/use-realtime-service.ts","../../src/realtime-react/use-pull-atom.ts","../../src/realtime-react/use-pull-atom-family-member.ts","../../src/realtime-react/use-pull-mutable-atom.ts","../../src/realtime-react/use-pull-mutable-family-member.ts","../../src/realtime-react/use-pull-selector.ts","../../src/realtime-react/use-pull-selector-family-member.ts","../../src/realtime-react/use-push.ts","../../src/realtime-react/use-server-action.ts","../../src/realtime-react/use-sync-continuity.ts"],"sourcesContent":["import * as React from \"react\"\n\n// @ts-expect-error this is a safe way to check a property on the global object\nconst { NODE_ENV } = globalThis[`env`] ?? {}\nconst IN_DEV = NODE_ENV === `development`\n\nfunction noop() {}\n\nexport function useSingleEffect(\n\teffect: () => (() => void) | undefined | void,\n\tdeps: unknown[],\n): void {\n\tif (IN_DEV) {\n\t\tconst cleanup = React.useRef<() => void>(noop)\n\t\tReact.useEffect(() => {\n\t\t\tlet dispose = cleanup.current\n\t\t\tif (dispose === noop) {\n\t\t\t\tdispose = effect() ?? noop\n\t\t\t\tcleanup.current = dispose\n\t\t\t} else {\n\t\t\t\treturn () => {\n\t\t\t\t\tdispose()\n\t\t\t\t\tcleanup.current = noop\n\t\t\t\t}\n\t\t\t}\n\t\t}, deps)\n\t} else {\n\t\tReact.useEffect(effect, deps)\n\t}\n}\n","import { useSingleEffect } from \"./use-single-effect\"\n\nexport function onMount(effect: () => (() => void) | undefined | void): void {\n\tuseSingleEffect(effect, [])\n}\n","import { useI } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\nimport type { Socket } from \"socket.io-client\"\n\nexport type RealtimeReactStore = {\n\tsocket: Socket | null\n\tservices: Map<\n\t\tstring,\n\t\t[consumerCount: number, dispose: (() => void) | undefined]\n\t> | null\n}\n\nexport const RealtimeContext: React.Context<RealtimeReactStore> =\n\tReact.createContext({\n\t\tsocket: null,\n\t\tservices: null,\n\t})\n\nexport const RealtimeProvider: React.FC<{\n\tchildren: React.ReactNode\n\tsocket: Socket | null\n}> = ({ children, socket }) => {\n\tconst services = React.useRef(new Map<string, [number, () => void]>()).current\n\tconst setMyId = useI(RTC.myIdState__INTERNAL)\n\tReact.useEffect(() => {\n\t\tsetMyId(socket?.id)\n\t\tsocket?.on(`connect`, () => {\n\t\t\tsetMyId(socket.id)\n\t\t})\n\t\tsocket?.on(`disconnect`, () => {\n\t\t\tsetMyId(undefined)\n\t\t})\n\t}, [socket, setMyId])\n\treturn (\n\t\t<RealtimeContext.Provider value={{ socket, services }}>\n\t\t\t{children}\n\t\t</RealtimeContext.Provider>\n\t)\n}\n","import * as React from \"react\"\nimport type { Socket } from \"socket.io-client\"\n\nimport { onMount } from \"./on-mount\"\nimport { RealtimeContext } from \"./realtime-context\"\n\nexport function useRealtimeService(\n\tkey: string,\n\tcreate: (socket: Socket) => (() => void) | undefined,\n): void {\n\tconst { socket, services } = React.useContext(RealtimeContext)\n\tonMount(() => {\n\t\tlet service = services?.get(key)\n\t\tif (service) {\n\t\t\tservice[0]++\n\t\t} else {\n\t\t\tconst dispose = socket ? create(socket) : undefined\n\t\t\tservice = [1, dispose]\n\t\t\tservices?.set(key, service)\n\t\t}\n\t\treturn () => {\n\t\t\tif (service) {\n\t\t\t\tservice[0]--\n\t\t\t\tif (service[0] === 0) {\n\t\t\t\t\tservice[1]?.()\n\t\t\t\t\tservices?.delete(key)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t})\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Json } from \"atom.io/json\"\nimport { StoreContext, useO } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function usePullAtom<J extends Json.Serializable>(\n\ttoken: AtomIO.RegularAtomToken<J>,\n): J {\n\tconst store = React.useContext(StoreContext)\n\tuseRealtimeService(`pull:${token.key}`, (socket) =>\n\t\tRTC.pullAtom(store, socket, token),\n\t)\n\treturn useO(token)\n}\n","import type * as AtomIO from \"atom.io\"\nimport { findInStore } from \"atom.io/internal\"\nimport type { Canonical, Json } from \"atom.io/json\"\nimport { StoreContext, useO } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function usePullAtomFamilyMember<\n\tJ extends Json.Serializable,\n\tK extends Canonical,\n\tKey extends K,\n>(family: AtomIO.RegularAtomFamilyToken<J, K>, subKey: Key): J {\n\tconst store = React.useContext(StoreContext)\n\tconst token = findInStore(store, family, subKey)\n\tuseRealtimeService(`pull:${token.key}`, (socket) =>\n\t\tRTC.pullAtomFamilyMember(store, socket, token),\n\t)\n\treturn useO(token)\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Transceiver } from \"atom.io/internal\"\nimport type { Json } from \"atom.io/json\"\nimport { StoreContext, useO } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function usePullMutable<\n\tT extends Transceiver<any>,\n\tJ extends Json.Serializable,\n>(token: AtomIO.MutableAtomToken<T, J>): T {\n\tconst store = React.useContext(StoreContext)\n\tuseRealtimeService(`pull:${token.key}`, (socket) =>\n\t\tRTC.pullMutableAtom(store, socket, token),\n\t)\n\treturn useO(token)\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Transceiver } from \"atom.io/internal\"\nimport { findInStore } from \"atom.io/internal\"\nimport type { Canonical, Json } from \"atom.io/json\"\nimport { StoreContext, useO } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function usePullMutableAtomFamilyMember<\n\tT extends Transceiver<any>,\n\tJ extends Json.Serializable,\n\tK extends Canonical,\n\tKey extends K,\n>(familyToken: AtomIO.MutableAtomFamilyToken<T, J, K>, key: Key): T {\n\tconst store = React.useContext(StoreContext)\n\tconst token = findInStore(store, familyToken, key)\n\tuseRealtimeService(`pull:${token.key}`, (socket) =>\n\t\tRTC.pullMutableAtomFamilyMember(store, socket, token),\n\t)\n\treturn useO(token)\n}\n","import type * as AtomIO from \"atom.io\"\nimport { findInStore } from \"atom.io/internal\"\nimport type { Json } from \"atom.io/json\"\nimport { StoreContext, useO } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function usePullSelector<J extends Json.Serializable>(\n\ttoken: AtomIO.SelectorToken<J>,\n): J {\n\tconst store = React.useContext(StoreContext)\n\tuseRealtimeService(`pull:${token.key}`, (socket) =>\n\t\tRTC.pullSelector(store, socket, token),\n\t)\n\treturn useO(token)\n}\n","import type * as AtomIO from \"atom.io\"\nimport { findInStore } from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\nimport { StoreContext, useO } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function usePullSelectorFamilyMember<\n\tT,\n\tK extends Canonical,\n\tKey extends K,\n>(familyToken: AtomIO.SelectorFamilyToken<T, K>, key: Key): T {\n\tconst store = React.useContext(StoreContext)\n\tconst token = findInStore(store, familyToken, key)\n\tuseRealtimeService(`pull:${token.key}`, (socket) =>\n\t\tRTC.pullSelectorFamilyMember(store, socket, token),\n\t)\n\n\treturn useO(token)\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Json } from \"atom.io/json\"\nimport { StoreContext, useI } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function usePush<J extends Json.Serializable>(\n\ttoken: AtomIO.WritableToken<J>,\n): <New extends J>(next: New | ((old: J) => New)) => void {\n\tconst store = React.useContext(StoreContext)\n\tuseRealtimeService(`push:${token.key}`, (socket) =>\n\t\tRTC.pushState(store, socket, token),\n\t)\n\treturn useI(token)\n}\n","import type * as AtomIO from \"atom.io\"\nimport type { Func } from \"atom.io/internal\"\nimport { actUponStore, arbitrary } from \"atom.io/internal\"\nimport { StoreContext } from \"atom.io/react\"\nimport * as RTC from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function useServerAction<F extends Func>(\n\ttoken: AtomIO.TransactionToken<F>,\n): (...parameters: Parameters<F>) => ReturnType<F> {\n\tconst store = React.useContext(StoreContext)\n\n\tuseRealtimeService(`tx:${token.key}`, (socket) =>\n\t\tRTC.serverAction(store, socket, token),\n\t)\n\treturn actUponStore(store, token, arbitrary())\n}\n","import { StoreContext } from \"atom.io/react\"\nimport type { ContinuityToken } from \"atom.io/realtime\"\nimport { syncContinuity } from \"atom.io/realtime-client\"\nimport * as React from \"react\"\n\nimport { useRealtimeService } from \"./use-realtime-service\"\n\nexport function useSyncContinuity(token: ContinuityToken): void {\n\tconst store = React.useContext(StoreContext)\n\tuseRealtimeService(`tx-sync:${token.key}`, (socket) => {\n\t\treturn syncContinuity(store, socket, token)\n\t})\n}\n"],"mappings":"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"}
|
|
@@ -17,7 +17,6 @@ declare function prepareToExposeRealtimeContinuity({
|
|
|
17
17
|
socket: initialSocket,
|
|
18
18
|
store
|
|
19
19
|
}: ServerConfig): ExposeRealtimeContinuity;
|
|
20
|
-
|
|
21
20
|
//#endregion
|
|
22
21
|
//#region src/realtime-server/ipc-sockets/custom-socket.d.ts
|
|
23
22
|
type Events = Json.Object<string, Json.Serializable[]>;
|
|
@@ -37,9 +36,9 @@ declare class CustomSocket<I extends Events, O extends Events> implements Socket
|
|
|
37
36
|
off<Event extends keyof O>(event: Event, listener?: (...args: O[Event]) => void): this;
|
|
38
37
|
offAny(listener: (event: string, ...args: Json.Array) => void): this;
|
|
39
38
|
}
|
|
40
|
-
|
|
41
39
|
//#endregion
|
|
42
40
|
//#region src/realtime-server/ipc-sockets/child-socket.d.ts
|
|
41
|
+
/* eslint-disable no-console */
|
|
43
42
|
declare class ChildSocket<I extends Events, O extends Events> extends CustomSocket<I, O> {
|
|
44
43
|
protected incompleteData: string;
|
|
45
44
|
protected unprocessedEvents: string[];
|
|
@@ -52,7 +51,6 @@ declare class ChildSocket<I extends Events, O extends Events> extends CustomSock
|
|
|
52
51
|
protected handleLog(arg: Json.Serializable): void;
|
|
53
52
|
constructor(process: ChildProcessWithoutNullStreams, key: string, logger?: Pick<Console, `error` | `info` | `warn`>);
|
|
54
53
|
}
|
|
55
|
-
|
|
56
54
|
//#endregion
|
|
57
55
|
//#region src/realtime-server/ipc-sockets/parent-socket.d.ts
|
|
58
56
|
declare class SubjectSocket<I extends Events, O extends Events> extends CustomSocket<I, O> {
|
|
@@ -64,6 +62,7 @@ declare class SubjectSocket<I extends Events, O extends Events> extends CustomSo
|
|
|
64
62
|
dispose(): void;
|
|
65
63
|
}
|
|
66
64
|
declare class ParentSocket<I extends Events & { [id in string as `relay:${id}`]: [string, ...Json.Serializable[]] }, O extends Events & { [id in string as `user:${id}`]: [string, ...Json.Serializable[]] } & {
|
|
65
|
+
/* eslint-disable quotes */
|
|
67
66
|
"user-joins": [string];
|
|
68
67
|
"user-leaves": [string];
|
|
69
68
|
}> extends CustomSocket<I, O> {
|
|
@@ -82,7 +81,6 @@ declare class ParentSocket<I extends Events & { [id in string as `relay:${id}`]:
|
|
|
82
81
|
constructor();
|
|
83
82
|
relay(attachServices: (socket: SubjectSocket<any, any>) => (() => void) | void): void;
|
|
84
83
|
}
|
|
85
|
-
|
|
86
84
|
//#endregion
|
|
87
85
|
//#region src/realtime-server/realtime-action-receiver.d.ts
|
|
88
86
|
type ActionReceiver = ReturnType<typeof realtimeActionReceiver>;
|
|
@@ -90,7 +88,6 @@ declare function realtimeActionReceiver({
|
|
|
90
88
|
socket,
|
|
91
89
|
store
|
|
92
90
|
}: ServerConfig): <F extends JsonIO>(tx: AtomIO$5.TransactionToken<F>) => () => void;
|
|
93
|
-
|
|
94
91
|
//#endregion
|
|
95
92
|
//#region src/realtime-server/realtime-family-provider.d.ts
|
|
96
93
|
type FamilyProvider = ReturnType<typeof realtimeAtomFamilyProvider>;
|
|
@@ -98,7 +95,6 @@ declare function realtimeAtomFamilyProvider({
|
|
|
98
95
|
socket,
|
|
99
96
|
store
|
|
100
97
|
}: ServerConfig): <J extends Json.Serializable, K extends Canonical>(family: AtomIO$4.RegularAtomFamilyToken<J, K>, index: AtomIO$4.ReadableToken<Iterable<K>>) => () => void;
|
|
101
|
-
|
|
102
98
|
//#endregion
|
|
103
99
|
//#region src/realtime-server/realtime-mutable-family-provider.d.ts
|
|
104
100
|
type MutableFamilyProvider = ReturnType<typeof realtimeMutableFamilyProvider>;
|
|
@@ -106,7 +102,6 @@ declare function realtimeMutableFamilyProvider({
|
|
|
106
102
|
socket,
|
|
107
103
|
store
|
|
108
104
|
}: ServerConfig): <T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical>(family: AtomIO$3.MutableAtomFamilyToken<T, J, K>, index: AtomIO$3.ReadableToken<Iterable<K>>) => () => void;
|
|
109
|
-
|
|
110
105
|
//#endregion
|
|
111
106
|
//#region src/realtime-server/realtime-mutable-provider.d.ts
|
|
112
107
|
type MutableProvider = ReturnType<typeof realtimeMutableProvider>;
|
|
@@ -114,7 +109,6 @@ declare function realtimeMutableProvider({
|
|
|
114
109
|
socket,
|
|
115
110
|
store
|
|
116
111
|
}: ServerConfig): <Core extends Transceiver<Json.Serializable>, SerializableCore extends Json.Serializable>(token: AtomIO$2.MutableAtomToken<Core, SerializableCore>) => () => void;
|
|
117
|
-
|
|
118
112
|
//#endregion
|
|
119
113
|
//#region src/realtime-server/realtime-server-stores/server-room-external-actions.d.ts
|
|
120
114
|
declare const createRoomTX: AtomIO$1.TransactionToken<(roomId: string, script: string, options?: string[]) => Loadable<ChildSocket<any, any>>>;
|
|
@@ -124,13 +118,11 @@ type JoinRoomIO = AtomIO$1.TransactionIO<typeof joinRoomTX>;
|
|
|
124
118
|
declare const leaveRoomTX: AtomIO$1.TransactionToken<(roomId: string, userId: string) => void>;
|
|
125
119
|
type LeaveRoomIO = AtomIO$1.TransactionIO<typeof leaveRoomTX>;
|
|
126
120
|
declare const destroyRoomTX: AtomIO$1.TransactionToken<(roomId: string) => void>;
|
|
127
|
-
|
|
128
121
|
//#endregion
|
|
129
122
|
//#region src/realtime-server/realtime-server-stores/server-room-external-store.d.ts
|
|
130
123
|
type RoomArguments = [script: string, options: string[]] | [script: string];
|
|
131
124
|
declare const roomArgumentsAtoms: RegularAtomFamilyToken<RoomArguments, string>;
|
|
132
125
|
declare const roomSelectors: ReadonlyPureSelectorFamilyToken<Loadable<ChildSocket<any, any>>, string>;
|
|
133
|
-
|
|
134
126
|
//#endregion
|
|
135
127
|
//#region src/realtime-server/realtime-server-stores/server-user-store.d.ts
|
|
136
128
|
type SocketKey = `socket::${string}`;
|
|
@@ -144,16 +136,37 @@ declare const socketAtoms: RegularAtomFamilyToken<Socket | null, SocketKey>;
|
|
|
144
136
|
declare const socketIndex: MutableAtomToken<SetRTX<SocketKey>, SetRTXJson<SocketKey>>;
|
|
145
137
|
declare const userIndex: MutableAtomToken<SetRTX<UserKey>, SetRTXJson<UserKey>>;
|
|
146
138
|
declare const usersOfSockets: JoinToken<`user`, UserKey, `socket`, SocketKey, `1:1`>;
|
|
147
|
-
|
|
148
139
|
//#endregion
|
|
149
140
|
//#region src/realtime-server/realtime-server-stores/server-sync-store.d.ts
|
|
141
|
+
// export const completeUpdateAtoms = atomFamily<
|
|
142
|
+
// TransactionUpdate<any> | null,
|
|
143
|
+
// string
|
|
144
|
+
// >({
|
|
145
|
+
// key: `completeUpdate`,
|
|
146
|
+
// default: null,
|
|
147
|
+
// })
|
|
150
148
|
declare function redactTransactionUpdateContent(visibleStateKeys: string[], updates: TransactionUpdateContent[]): TransactionUpdateContent[];
|
|
151
149
|
declare const redactorAtoms: RegularAtomFamilyToken<{
|
|
152
150
|
occlude: (updates: TransactionUpdateContent[]) => TransactionUpdateContent[];
|
|
153
151
|
}, UserKey>;
|
|
152
|
+
// export const redactedUpdateSelectors = selectorFamily<
|
|
153
|
+
// TransactionUpdate<any> | null,
|
|
154
|
+
// [transactionKey: string, updateId: string]
|
|
155
|
+
// >({
|
|
156
|
+
// key: `redactedUpdate`,
|
|
157
|
+
// get:
|
|
158
|
+
// ([transactionKey, updateId]) =>
|
|
159
|
+
// ({ get, find }) => {
|
|
160
|
+
// const update = get(find(completeUpdateAtoms, updateId))
|
|
161
|
+
// const { filter } = get(find(transactionRedactorAtoms, transactionKey))
|
|
162
|
+
// if (update && filter) {
|
|
163
|
+
// return { ...update, updates: filter(update.updates) }
|
|
164
|
+
// }
|
|
165
|
+
// return null
|
|
166
|
+
// },
|
|
167
|
+
// })
|
|
154
168
|
type ContinuitySyncTransactionUpdate = Pick<TransactionUpdate<any>, `epoch` | `id` | `key` | `output` | `updates`>;
|
|
155
169
|
declare const userUnacknowledgedQueues: RegularAtomFamilyToken<ContinuitySyncTransactionUpdate[], UserKey>;
|
|
156
|
-
|
|
157
170
|
//#endregion
|
|
158
171
|
//#region src/realtime-server/realtime-state-provider.d.ts
|
|
159
172
|
type StateProvider = ReturnType<typeof realtimeStateProvider>;
|
|
@@ -161,7 +174,6 @@ declare function realtimeStateProvider({
|
|
|
161
174
|
socket,
|
|
162
175
|
store
|
|
163
176
|
}: ServerConfig): <J extends Json.Serializable>(token: AtomIO.WritableToken<J>) => () => void;
|
|
164
|
-
|
|
165
177
|
//#endregion
|
|
166
178
|
//#region src/realtime-server/realtime-state-receiver.d.ts
|
|
167
179
|
type StateReceiver = ReturnType<typeof realtimeStateReceiver>;
|
|
@@ -169,7 +181,6 @@ declare function realtimeStateReceiver({
|
|
|
169
181
|
socket,
|
|
170
182
|
store
|
|
171
183
|
}: ServerConfig): <J extends Json.Serializable>(token: WritableToken<J>) => () => void;
|
|
172
|
-
|
|
173
184
|
//#endregion
|
|
174
185
|
//#region src/realtime-server/index.d.ts
|
|
175
186
|
type Socket = {
|
|
@@ -184,7 +195,6 @@ type ServerConfig = {
|
|
|
184
195
|
socket: Socket;
|
|
185
196
|
store?: Store;
|
|
186
197
|
};
|
|
187
|
-
|
|
188
198
|
//#endregion
|
|
189
199
|
export { ActionReceiver, ChildSocket, ContinuitySyncTransactionUpdate, CreateRoomIO, CustomSocket, EventBuffer, Events, ExposeRealtimeContinuity, FamilyProvider, JoinRoomIO, LeaveRoomIO, MutableFamilyProvider, MutableProvider, ParentSocket, RoomArguments, RoomKey, ServerConfig, Socket, SocketKey, SocketSystemHierarchy, StateProvider, StateReceiver, StringifiedEvent, SubjectSocket, UserKey, createRoomTX, destroyRoomTX, joinRoomTX, leaveRoomTX, prepareToExposeRealtimeContinuity, realtimeActionReceiver, realtimeAtomFamilyProvider, realtimeMutableFamilyProvider, realtimeMutableProvider, realtimeStateProvider, realtimeStateReceiver, redactTransactionUpdateContent, redactorAtoms, roomArgumentsAtoms, roomSelectors, socketAtoms, socketIndex, userIndex, userUnacknowledgedQueues, usersOfSockets };
|
|
190
200
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["continuity: ContinuityToken","event: string","event: Event","emit: <Event extends keyof I>(\n\t\t\tevent: Event,\n\t\t\t...args: I[Event]\n\t\t) => CustomSocket<I, O>","listener: (...args: O[Event]) => void","listener: (event: string, ...args: Json.Array) => void","listener?: (...args: O[Event]) => void","arg: Json.Serializable","process: ChildProcessWithoutNullStreams","key: string","logger?: Pick<Console, `error` | `info` | `warn`>","id: string","socket: SubjectSocket<any, any>","attachServices: (socket: SubjectSocket<any, any>) => (() => void) | void","tx: AtomIO.TransactionToken<F>","family: AtomIO.RegularAtomFamilyToken<J, K>","index: AtomIO.ReadableToken<Iterable<K>>","family: AtomIO.MutableAtomFamilyToken<T, J, K>","index: AtomIO.ReadableToken<Iterable<K>>","token: AtomIO.MutableAtomToken<Core, SerializableCore>","createRoomTX: AtomIO.TransactionToken<\n\t(\n\t\troomId: string,\n\t\tscript: string,\n\t\toptions?: string[],\n\t) => Loadable<ChildSocket<any, any>>\n>","roomId: string","script: string","options?: string[]","joinRoomTX: AtomIO.TransactionToken<\n\t(roomId: string, userId: string, enteredAtEpoch: number) => UserInRoomMeta\n>","userId: string","enteredAtEpoch: number","leaveRoomTX: AtomIO.TransactionToken<\n\t(roomId: string, userId: string) => void\n>","destroyRoomTX: AtomIO.TransactionToken<(roomId: string) => void>","roomArgumentsAtoms: RegularAtomFamilyToken<RoomArguments, string>","roomSelectors: ReadonlyPureSelectorFamilyToken<\n\tLoadable<ChildSocket<any, any>>,\n\tstring\n>","socketAtoms: RegularAtomFamilyToken<Socket | null, SocketKey>","socketIndex: MutableAtomToken<\n\tSetRTX<SocketKey>,\n\tSetRTXJson<SocketKey>\n>","userIndex: MutableAtomToken<\n\tSetRTX<UserKey>,\n\tSetRTXJson<UserKey>\n>","usersOfSockets: JoinToken<\n\t`user`,\n\tUserKey,\n\t`socket`,\n\tSocketKey,\n\t`1:1`\n>","visibleStateKeys: string[]","updates: TransactionUpdateContent[]","redactorAtoms: RegularAtomFamilyToken<\n\t{\n\t\tocclude: (updates: TransactionUpdateContent[]) => TransactionUpdateContent[]\n\t},\n\tUserKey\n>","userUnacknowledgedQueues: RegularAtomFamilyToken<\n\tContinuitySyncTransactionUpdate[],\n\tUserKey\n>","token: AtomIO.WritableToken<J>","token: WritableToken<J>","event: string","listener: (...args: Json.Serializable[]) => void","listener: (event: string, ...args: Json.Serializable[]) => void"],"sources":["../../src/realtime-server/continuity/prepare-to-sync-realtime-continuity.ts","../../src/realtime-server/ipc-sockets/custom-socket.ts","../../src/realtime-server/ipc-sockets/child-socket.ts","../../src/realtime-server/ipc-sockets/parent-socket.ts","../../src/realtime-server/realtime-action-receiver.ts","../../src/realtime-server/realtime-family-provider.ts","../../src/realtime-server/realtime-mutable-family-provider.ts","../../src/realtime-server/realtime-mutable-provider.ts","../../src/realtime-server/realtime-server-stores/server-room-external-actions.ts","../../src/realtime-server/realtime-server-stores/server-room-external-store.ts","../../src/realtime-server/realtime-server-stores/server-user-store.ts","../../src/realtime-server/realtime-server-stores/server-sync-store.ts","../../src/realtime-server/realtime-state-provider.ts","../../src/realtime-server/realtime-state-receiver.ts","../../src/realtime-server/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;KAmBY,wBAAA,gBACC;iBAEG,iCAAA;UACP;;GAEN,eAAe
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["continuity: ContinuityToken","event: string","event: Event","emit: <Event extends keyof I>(\n\t\t\tevent: Event,\n\t\t\t...args: I[Event]\n\t\t) => CustomSocket<I, O>","listener: (...args: O[Event]) => void","listener: (event: string, ...args: Json.Array) => void","listener?: (...args: O[Event]) => void","arg: Json.Serializable","process: ChildProcessWithoutNullStreams","key: string","logger?: Pick<Console, `error` | `info` | `warn`>","id: string","socket: SubjectSocket<any, any>","attachServices: (socket: SubjectSocket<any, any>) => (() => void) | void","tx: AtomIO.TransactionToken<F>","family: AtomIO.RegularAtomFamilyToken<J, K>","index: AtomIO.ReadableToken<Iterable<K>>","family: AtomIO.MutableAtomFamilyToken<T, J, K>","index: AtomIO.ReadableToken<Iterable<K>>","token: AtomIO.MutableAtomToken<Core, SerializableCore>","createRoomTX: AtomIO.TransactionToken<\n\t(\n\t\troomId: string,\n\t\tscript: string,\n\t\toptions?: string[],\n\t) => Loadable<ChildSocket<any, any>>\n>","roomId: string","script: string","options?: string[]","joinRoomTX: AtomIO.TransactionToken<\n\t(roomId: string, userId: string, enteredAtEpoch: number) => UserInRoomMeta\n>","userId: string","enteredAtEpoch: number","leaveRoomTX: AtomIO.TransactionToken<\n\t(roomId: string, userId: string) => void\n>","destroyRoomTX: AtomIO.TransactionToken<(roomId: string) => void>","roomArgumentsAtoms: RegularAtomFamilyToken<RoomArguments, string>","roomSelectors: ReadonlyPureSelectorFamilyToken<\n\tLoadable<ChildSocket<any, any>>,\n\tstring\n>","socketAtoms: RegularAtomFamilyToken<Socket | null, SocketKey>","socketIndex: MutableAtomToken<\n\tSetRTX<SocketKey>,\n\tSetRTXJson<SocketKey>\n>","userIndex: MutableAtomToken<\n\tSetRTX<UserKey>,\n\tSetRTXJson<UserKey>\n>","usersOfSockets: JoinToken<\n\t`user`,\n\tUserKey,\n\t`socket`,\n\tSocketKey,\n\t`1:1`\n>","visibleStateKeys: string[]","updates: TransactionUpdateContent[]","redactorAtoms: RegularAtomFamilyToken<\n\t{\n\t\tocclude: (updates: TransactionUpdateContent[]) => TransactionUpdateContent[]\n\t},\n\tUserKey\n>","userUnacknowledgedQueues: RegularAtomFamilyToken<\n\tContinuitySyncTransactionUpdate[],\n\tUserKey\n>","token: AtomIO.WritableToken<J>","token: WritableToken<J>","event: string","listener: (...args: Json.Serializable[]) => void","listener: (event: string, ...args: Json.Serializable[]) => void"],"sources":["../../src/realtime-server/continuity/prepare-to-sync-realtime-continuity.ts","../../src/realtime-server/ipc-sockets/custom-socket.ts","../../src/realtime-server/ipc-sockets/child-socket.ts","../../src/realtime-server/ipc-sockets/parent-socket.ts","../../src/realtime-server/realtime-action-receiver.ts","../../src/realtime-server/realtime-family-provider.ts","../../src/realtime-server/realtime-mutable-family-provider.ts","../../src/realtime-server/realtime-mutable-provider.ts","../../src/realtime-server/realtime-server-stores/server-room-external-actions.ts","../../src/realtime-server/realtime-server-stores/server-room-external-store.ts","../../src/realtime-server/realtime-server-stores/server-user-store.ts","../../src/realtime-server/realtime-server-stores/server-sync-store.ts","../../src/realtime-server/realtime-state-provider.ts","../../src/realtime-server/realtime-state-receiver.ts","../../src/realtime-server/index.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -19,8 +19,8 @@ var CustomSocket = class {
|
|
|
19
19
|
emit;
|
|
20
20
|
constructor(emit) {
|
|
21
21
|
this.emit = emit;
|
|
22
|
-
this.listeners = new Map();
|
|
23
|
-
this.globalListeners = new Set();
|
|
22
|
+
this.listeners = /* @__PURE__ */ new Map();
|
|
23
|
+
this.globalListeners = /* @__PURE__ */ new Set();
|
|
24
24
|
}
|
|
25
25
|
on(event, listener) {
|
|
26
26
|
const listeners = this.listeners.get(event);
|
|
@@ -200,7 +200,7 @@ var ParentSocket = class extends CustomSocket {
|
|
|
200
200
|
});
|
|
201
201
|
this.process = process;
|
|
202
202
|
this.process.stdin.resume();
|
|
203
|
-
this.relays = new Map();
|
|
203
|
+
this.relays = /* @__PURE__ */ new Map();
|
|
204
204
|
this.relayServices = [];
|
|
205
205
|
this.process.stdin.on(`data`, (buffer) => {
|
|
206
206
|
const chunk = buffer.toString();
|
|
@@ -637,7 +637,7 @@ function realtimeActionReceiver({ socket, store = IMPLICIT.STORE }) {
|
|
|
637
637
|
//#region src/realtime-server/realtime-family-provider.ts
|
|
638
638
|
function realtimeAtomFamilyProvider({ socket, store = IMPLICIT.STORE }) {
|
|
639
639
|
return function familyProvider(family, index) {
|
|
640
|
-
const unsubCallbacksByKey = new Map();
|
|
640
|
+
const unsubCallbacksByKey = /* @__PURE__ */ new Map();
|
|
641
641
|
const fillUnsubRequest = (key) => {
|
|
642
642
|
socket.off(`unsub:${key}`, fillUnsubRequest);
|
|
643
643
|
const unsub = unsubCallbacksByKey.get(key);
|
|
@@ -674,7 +674,7 @@ function realtimeAtomFamilyProvider({ socket, store = IMPLICIT.STORE }) {
|
|
|
674
674
|
//#region src/realtime-server/realtime-mutable-family-provider.ts
|
|
675
675
|
function realtimeMutableFamilyProvider({ socket, store = IMPLICIT.STORE }) {
|
|
676
676
|
return function mutableFamilyProvider(family, index) {
|
|
677
|
-
const unsubCallbacksByKey = new Map();
|
|
677
|
+
const unsubCallbacksByKey = /* @__PURE__ */ new Map();
|
|
678
678
|
const fillUnsubRequest = (key) => {
|
|
679
679
|
socket.off(`unsub:${key}`, fillUnsubRequest);
|
|
680
680
|
const unsub = unsubCallbacksByKey.get(key);
|