atom.io 0.33.4 → 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.
Files changed (42) hide show
  1. package/dist/data/index.d.ts +0 -3
  2. package/dist/data/index.d.ts.map +1 -1
  3. package/dist/eslint-plugin/index.d.ts +0 -5
  4. package/dist/eslint-plugin/index.d.ts.map +1 -1
  5. package/dist/internal/index.d.ts +12 -100
  6. package/dist/internal/index.d.ts.map +1 -1
  7. package/dist/internal/index.js +33 -33
  8. package/dist/internal/index.js.map +1 -1
  9. package/dist/introspection/index.d.ts +0 -8
  10. package/dist/introspection/index.d.ts.map +1 -1
  11. package/dist/introspection/index.js +8 -8
  12. package/dist/introspection/index.js.map +1 -1
  13. package/dist/json/index.d.ts +0 -4
  14. package/dist/json/index.d.ts.map +1 -1
  15. package/dist/main/index.d.ts +3 -28
  16. package/dist/main/index.d.ts.map +1 -1
  17. package/dist/main/index.js.map +1 -1
  18. package/dist/react/index.d.ts +0 -5
  19. package/dist/react/index.d.ts.map +1 -1
  20. package/dist/react-devtools/index.d.ts +0 -11
  21. package/dist/react-devtools/index.d.ts.map +1 -1
  22. package/dist/react-devtools/index.js +5 -2
  23. package/dist/react-devtools/index.js.map +1 -1
  24. package/dist/realtime/index.d.ts +0 -2
  25. package/dist/realtime/index.d.ts.map +1 -1
  26. package/dist/realtime-client/index.d.ts +0 -14
  27. package/dist/realtime-client/index.d.ts.map +1 -1
  28. package/dist/realtime-react/index.d.ts +0 -11
  29. package/dist/realtime-react/index.d.ts.map +1 -1
  30. package/dist/realtime-react/index.js +1 -1
  31. package/dist/realtime-react/index.js.map +1 -1
  32. package/dist/realtime-server/index.d.ts +0 -15
  33. package/dist/realtime-server/index.d.ts.map +1 -1
  34. package/dist/realtime-server/index.js +5 -5
  35. package/dist/realtime-server/index.js.map +1 -1
  36. package/dist/realtime-testing/index.d.ts +0 -1
  37. package/dist/transceivers/set-rtx/index.d.ts +0 -1
  38. package/dist/web/index.d.ts +0 -1
  39. package/package.json +24 -24
  40. package/src/internal/store/withdraw.ts +13 -13
  41. package/src/main/logger.ts +2 -2
  42. package/src/react-devtools/AtomIODevtools.tsx +2 -2
@@ -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;;;;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"}
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;;;;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"}
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":"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"}
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,7 +36,6 @@ 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
43
41
  /* eslint-disable no-console */
@@ -53,7 +51,6 @@ declare class ChildSocket<I extends Events, O extends Events> extends CustomSock
53
51
  protected handleLog(arg: Json.Serializable): void;
54
52
  constructor(process: ChildProcessWithoutNullStreams, key: string, logger?: Pick<Console, `error` | `info` | `warn`>);
55
53
  }
56
-
57
54
  //#endregion
58
55
  //#region src/realtime-server/ipc-sockets/parent-socket.d.ts
59
56
  declare class SubjectSocket<I extends Events, O extends Events> extends CustomSocket<I, O> {
@@ -84,7 +81,6 @@ declare class ParentSocket<I extends Events & { [id in string as `relay:${id}`]:
84
81
  constructor();
85
82
  relay(attachServices: (socket: SubjectSocket<any, any>) => (() => void) | void): void;
86
83
  }
87
-
88
84
  //#endregion
89
85
  //#region src/realtime-server/realtime-action-receiver.d.ts
90
86
  type ActionReceiver = ReturnType<typeof realtimeActionReceiver>;
@@ -92,7 +88,6 @@ declare function realtimeActionReceiver({
92
88
  socket,
93
89
  store
94
90
  }: ServerConfig): <F extends JsonIO>(tx: AtomIO$5.TransactionToken<F>) => () => void;
95
-
96
91
  //#endregion
97
92
  //#region src/realtime-server/realtime-family-provider.d.ts
98
93
  type FamilyProvider = ReturnType<typeof realtimeAtomFamilyProvider>;
@@ -100,7 +95,6 @@ declare function realtimeAtomFamilyProvider({
100
95
  socket,
101
96
  store
102
97
  }: ServerConfig): <J extends Json.Serializable, K extends Canonical>(family: AtomIO$4.RegularAtomFamilyToken<J, K>, index: AtomIO$4.ReadableToken<Iterable<K>>) => () => void;
103
-
104
98
  //#endregion
105
99
  //#region src/realtime-server/realtime-mutable-family-provider.d.ts
106
100
  type MutableFamilyProvider = ReturnType<typeof realtimeMutableFamilyProvider>;
@@ -108,7 +102,6 @@ declare function realtimeMutableFamilyProvider({
108
102
  socket,
109
103
  store
110
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;
111
-
112
105
  //#endregion
113
106
  //#region src/realtime-server/realtime-mutable-provider.d.ts
114
107
  type MutableProvider = ReturnType<typeof realtimeMutableProvider>;
@@ -116,7 +109,6 @@ declare function realtimeMutableProvider({
116
109
  socket,
117
110
  store
118
111
  }: ServerConfig): <Core extends Transceiver<Json.Serializable>, SerializableCore extends Json.Serializable>(token: AtomIO$2.MutableAtomToken<Core, SerializableCore>) => () => void;
119
-
120
112
  //#endregion
121
113
  //#region src/realtime-server/realtime-server-stores/server-room-external-actions.d.ts
122
114
  declare const createRoomTX: AtomIO$1.TransactionToken<(roomId: string, script: string, options?: string[]) => Loadable<ChildSocket<any, any>>>;
@@ -126,13 +118,11 @@ type JoinRoomIO = AtomIO$1.TransactionIO<typeof joinRoomTX>;
126
118
  declare const leaveRoomTX: AtomIO$1.TransactionToken<(roomId: string, userId: string) => void>;
127
119
  type LeaveRoomIO = AtomIO$1.TransactionIO<typeof leaveRoomTX>;
128
120
  declare const destroyRoomTX: AtomIO$1.TransactionToken<(roomId: string) => void>;
129
-
130
121
  //#endregion
131
122
  //#region src/realtime-server/realtime-server-stores/server-room-external-store.d.ts
132
123
  type RoomArguments = [script: string, options: string[]] | [script: string];
133
124
  declare const roomArgumentsAtoms: RegularAtomFamilyToken<RoomArguments, string>;
134
125
  declare const roomSelectors: ReadonlyPureSelectorFamilyToken<Loadable<ChildSocket<any, any>>, string>;
135
-
136
126
  //#endregion
137
127
  //#region src/realtime-server/realtime-server-stores/server-user-store.d.ts
138
128
  type SocketKey = `socket::${string}`;
@@ -146,7 +136,6 @@ declare const socketAtoms: RegularAtomFamilyToken<Socket | null, SocketKey>;
146
136
  declare const socketIndex: MutableAtomToken<SetRTX<SocketKey>, SetRTXJson<SocketKey>>;
147
137
  declare const userIndex: MutableAtomToken<SetRTX<UserKey>, SetRTXJson<UserKey>>;
148
138
  declare const usersOfSockets: JoinToken<`user`, UserKey, `socket`, SocketKey, `1:1`>;
149
-
150
139
  //#endregion
151
140
  //#region src/realtime-server/realtime-server-stores/server-sync-store.d.ts
152
141
  // export const completeUpdateAtoms = atomFamily<
@@ -178,7 +167,6 @@ declare const redactorAtoms: RegularAtomFamilyToken<{
178
167
  // })
179
168
  type ContinuitySyncTransactionUpdate = Pick<TransactionUpdate<any>, `epoch` | `id` | `key` | `output` | `updates`>;
180
169
  declare const userUnacknowledgedQueues: RegularAtomFamilyToken<ContinuitySyncTransactionUpdate[], UserKey>;
181
-
182
170
  //#endregion
183
171
  //#region src/realtime-server/realtime-state-provider.d.ts
184
172
  type StateProvider = ReturnType<typeof realtimeStateProvider>;
@@ -186,7 +174,6 @@ declare function realtimeStateProvider({
186
174
  socket,
187
175
  store
188
176
  }: ServerConfig): <J extends Json.Serializable>(token: AtomIO.WritableToken<J>) => () => void;
189
-
190
177
  //#endregion
191
178
  //#region src/realtime-server/realtime-state-receiver.d.ts
192
179
  type StateReceiver = ReturnType<typeof realtimeStateReceiver>;
@@ -194,7 +181,6 @@ declare function realtimeStateReceiver({
194
181
  socket,
195
182
  store
196
183
  }: ServerConfig): <J extends Json.Serializable>(token: WritableToken<J>) => () => void;
197
-
198
184
  //#endregion
199
185
  //#region src/realtime-server/index.d.ts
200
186
  type Socket = {
@@ -209,7 +195,6 @@ type ServerConfig = {
209
195
  socket: Socket;
210
196
  store?: Store;
211
197
  };
212
-
213
198
  //#endregion
214
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 };
215
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":"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"}
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);