atom.io 0.33.4 → 0.33.6

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 (71) hide show
  1. package/dist/data/index.d.ts +2 -7
  2. package/dist/data/index.d.ts.map +1 -1
  3. package/dist/eslint-plugin/index.d.ts +0 -6
  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 +35 -35
  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 +9 -9
  12. package/dist/introspection/index.js.map +1 -1
  13. package/dist/json/index.d.ts +1 -6
  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 +4 -6
  18. package/dist/main/index.js.map +1 -1
  19. package/dist/react/index.d.ts +0 -5
  20. package/dist/react/index.d.ts.map +1 -1
  21. package/dist/react/index.js +7 -11
  22. package/dist/react/index.js.map +1 -1
  23. package/dist/react-devtools/index.css +9 -7
  24. package/dist/react-devtools/index.css.map +1 -1
  25. package/dist/react-devtools/index.d.ts +1 -12
  26. package/dist/react-devtools/index.d.ts.map +1 -1
  27. package/dist/react-devtools/index.js +7 -4
  28. package/dist/react-devtools/index.js.map +1 -1
  29. package/dist/realtime/index.d.ts +0 -2
  30. package/dist/realtime/index.d.ts.map +1 -1
  31. package/dist/realtime/index.js.map +1 -1
  32. package/dist/realtime-client/index.d.ts +13 -38
  33. package/dist/realtime-client/index.d.ts.map +1 -1
  34. package/dist/realtime-client/index.js +4 -6
  35. package/dist/realtime-client/index.js.map +1 -1
  36. package/dist/realtime-react/index.d.ts +7 -25
  37. package/dist/realtime-react/index.d.ts.map +1 -1
  38. package/dist/realtime-react/index.js +23 -42
  39. package/dist/realtime-react/index.js.map +1 -1
  40. package/dist/realtime-server/index.d.ts +11 -31
  41. package/dist/realtime-server/index.d.ts.map +1 -1
  42. package/dist/realtime-server/index.js +6 -6
  43. package/dist/realtime-server/index.js.map +1 -1
  44. package/dist/realtime-testing/index.d.ts +0 -1
  45. package/dist/realtime-testing/index.js +1 -1
  46. package/dist/realtime-testing/index.js.map +1 -1
  47. package/dist/transceivers/set-rtx/index.d.ts +0 -1
  48. package/dist/web/index.d.ts +0 -1
  49. package/package.json +37 -28
  50. package/src/internal/families/dispose-from-store.ts +1 -1
  51. package/src/internal/mutable/create-mutable-atom.ts +2 -6
  52. package/src/internal/set-state/set-into-store.ts +1 -1
  53. package/src/internal/store/withdraw.ts +13 -13
  54. package/src/internal/timeline/time-travel.ts +0 -2
  55. package/src/introspection/attach-type-selectors.ts +1 -1
  56. package/src/main/index.ts +2 -8
  57. package/src/main/logger.ts +2 -2
  58. package/src/react-devtools/AtomIODevtools.tsx +2 -2
  59. package/src/react-devtools/StateEditor.tsx +1 -5
  60. package/src/react-devtools/Updates.tsx +3 -5
  61. package/src/react-devtools/devtools.css +9 -7
  62. package/src/react-devtools/elastic-input/NumberInput.tsx +1 -1
  63. package/src/react-devtools/error-boundary/ReactErrorBoundary.tsx +1 -1
  64. package/src/react-devtools/json-editor/developer-interface.tsx +1 -1
  65. package/src/react-devtools/json-editor/editors-by-type/utilities/cast-json.ts +1 -1
  66. package/src/realtime/shared-room-store.ts +0 -3
  67. package/src/realtime-react/use-pull-selector.ts +0 -1
  68. package/src/realtime-react/use-single-effect.ts +2 -0
  69. package/src/realtime-server/continuity/prepare-to-sync-realtime-continuity.ts +1 -1
  70. package/src/realtime-server/continuity/subscribe-to-continuity-actions.ts +0 -2
  71. package/src/realtime-server/ipc-sockets/parent-socket.ts +1 -1
@@ -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}>","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":["/** biome-ignore-all lint/correctness/useHookAtTopLevel: intentional */\n\nimport * 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 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,10 +1,5 @@
1
1
  import { Store, Subject, Transceiver } from "atom.io/internal";
2
2
  import { Canonical, Json, JsonIO, stringified } from "atom.io/json";
3
- import * as AtomIO$5 from "atom.io";
4
- import * as AtomIO$4 from "atom.io";
5
- import * as AtomIO$3 from "atom.io";
6
- import * as AtomIO$2 from "atom.io";
7
- import * as AtomIO$1 from "atom.io";
8
3
  import * as AtomIO from "atom.io";
9
4
  import { Hierarchy, JoinToken, Loadable, MutableAtomToken, ReadonlyPureSelectorFamilyToken, RegularAtomFamilyToken, TransactionUpdate, TransactionUpdateContent, WritableToken } from "atom.io";
10
5
  import { SetRTX, SetRTXJson } from "atom.io/transceivers/set-rtx";
@@ -17,7 +12,6 @@ declare function prepareToExposeRealtimeContinuity({
17
12
  socket: initialSocket,
18
13
  store
19
14
  }: ServerConfig): ExposeRealtimeContinuity;
20
-
21
15
  //#endregion
22
16
  //#region src/realtime-server/ipc-sockets/custom-socket.d.ts
23
17
  type Events = Json.Object<string, Json.Serializable[]>;
@@ -37,7 +31,6 @@ declare class CustomSocket<I extends Events, O extends Events> implements Socket
37
31
  off<Event extends keyof O>(event: Event, listener?: (...args: O[Event]) => void): this;
38
32
  offAny(listener: (event: string, ...args: Json.Array) => void): this;
39
33
  }
40
-
41
34
  //#endregion
42
35
  //#region src/realtime-server/ipc-sockets/child-socket.d.ts
43
36
  /* eslint-disable no-console */
@@ -53,7 +46,6 @@ declare class ChildSocket<I extends Events, O extends Events> extends CustomSock
53
46
  protected handleLog(arg: Json.Serializable): void;
54
47
  constructor(process: ChildProcessWithoutNullStreams, key: string, logger?: Pick<Console, `error` | `info` | `warn`>);
55
48
  }
56
-
57
49
  //#endregion
58
50
  //#region src/realtime-server/ipc-sockets/parent-socket.d.ts
59
51
  declare class SubjectSocket<I extends Events, O extends Events> extends CustomSocket<I, O> {
@@ -84,55 +76,48 @@ declare class ParentSocket<I extends Events & { [id in string as `relay:${id}`]:
84
76
  constructor();
85
77
  relay(attachServices: (socket: SubjectSocket<any, any>) => (() => void) | void): void;
86
78
  }
87
-
88
79
  //#endregion
89
80
  //#region src/realtime-server/realtime-action-receiver.d.ts
90
81
  type ActionReceiver = ReturnType<typeof realtimeActionReceiver>;
91
82
  declare function realtimeActionReceiver({
92
83
  socket,
93
84
  store
94
- }: ServerConfig): <F extends JsonIO>(tx: AtomIO$5.TransactionToken<F>) => () => void;
95
-
85
+ }: ServerConfig): <F extends JsonIO>(tx: AtomIO.TransactionToken<F>) => () => void;
96
86
  //#endregion
97
87
  //#region src/realtime-server/realtime-family-provider.d.ts
98
88
  type FamilyProvider = ReturnType<typeof realtimeAtomFamilyProvider>;
99
89
  declare function realtimeAtomFamilyProvider({
100
90
  socket,
101
91
  store
102
- }: ServerConfig): <J extends Json.Serializable, K extends Canonical>(family: AtomIO$4.RegularAtomFamilyToken<J, K>, index: AtomIO$4.ReadableToken<Iterable<K>>) => () => void;
103
-
92
+ }: ServerConfig): <J extends Json.Serializable, K extends Canonical>(family: AtomIO.RegularAtomFamilyToken<J, K>, index: AtomIO.ReadableToken<Iterable<K>>) => () => void;
104
93
  //#endregion
105
94
  //#region src/realtime-server/realtime-mutable-family-provider.d.ts
106
95
  type MutableFamilyProvider = ReturnType<typeof realtimeMutableFamilyProvider>;
107
96
  declare function realtimeMutableFamilyProvider({
108
97
  socket,
109
98
  store
110
- }: 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
-
99
+ }: ServerConfig): <T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical>(family: AtomIO.MutableAtomFamilyToken<T, J, K>, index: AtomIO.ReadableToken<Iterable<K>>) => () => void;
112
100
  //#endregion
113
101
  //#region src/realtime-server/realtime-mutable-provider.d.ts
114
102
  type MutableProvider = ReturnType<typeof realtimeMutableProvider>;
115
103
  declare function realtimeMutableProvider({
116
104
  socket,
117
105
  store
118
- }: ServerConfig): <Core extends Transceiver<Json.Serializable>, SerializableCore extends Json.Serializable>(token: AtomIO$2.MutableAtomToken<Core, SerializableCore>) => () => void;
119
-
106
+ }: ServerConfig): <Core extends Transceiver<Json.Serializable>, SerializableCore extends Json.Serializable>(token: AtomIO.MutableAtomToken<Core, SerializableCore>) => () => void;
120
107
  //#endregion
121
108
  //#region src/realtime-server/realtime-server-stores/server-room-external-actions.d.ts
122
- declare const createRoomTX: AtomIO$1.TransactionToken<(roomId: string, script: string, options?: string[]) => Loadable<ChildSocket<any, any>>>;
123
- type CreateRoomIO = AtomIO$1.TransactionIO<typeof createRoomTX>;
124
- declare const joinRoomTX: AtomIO$1.TransactionToken<(roomId: string, userId: string, enteredAtEpoch: number) => UserInRoomMeta>;
125
- type JoinRoomIO = AtomIO$1.TransactionIO<typeof joinRoomTX>;
126
- declare const leaveRoomTX: AtomIO$1.TransactionToken<(roomId: string, userId: string) => void>;
127
- type LeaveRoomIO = AtomIO$1.TransactionIO<typeof leaveRoomTX>;
128
- declare const destroyRoomTX: AtomIO$1.TransactionToken<(roomId: string) => void>;
129
-
109
+ declare const createRoomTX: AtomIO.TransactionToken<(roomId: string, script: string, options?: string[]) => Loadable<ChildSocket<any, any>>>;
110
+ type CreateRoomIO = AtomIO.TransactionIO<typeof createRoomTX>;
111
+ declare const joinRoomTX: AtomIO.TransactionToken<(roomId: string, userId: string, enteredAtEpoch: number) => UserInRoomMeta>;
112
+ type JoinRoomIO = AtomIO.TransactionIO<typeof joinRoomTX>;
113
+ declare const leaveRoomTX: AtomIO.TransactionToken<(roomId: string, userId: string) => void>;
114
+ type LeaveRoomIO = AtomIO.TransactionIO<typeof leaveRoomTX>;
115
+ declare const destroyRoomTX: AtomIO.TransactionToken<(roomId: string) => void>;
130
116
  //#endregion
131
117
  //#region src/realtime-server/realtime-server-stores/server-room-external-store.d.ts
132
118
  type RoomArguments = [script: string, options: string[]] | [script: string];
133
119
  declare const roomArgumentsAtoms: RegularAtomFamilyToken<RoomArguments, string>;
134
120
  declare const roomSelectors: ReadonlyPureSelectorFamilyToken<Loadable<ChildSocket<any, any>>, string>;
135
-
136
121
  //#endregion
137
122
  //#region src/realtime-server/realtime-server-stores/server-user-store.d.ts
138
123
  type SocketKey = `socket::${string}`;
@@ -146,7 +131,6 @@ declare const socketAtoms: RegularAtomFamilyToken<Socket | null, SocketKey>;
146
131
  declare const socketIndex: MutableAtomToken<SetRTX<SocketKey>, SetRTXJson<SocketKey>>;
147
132
  declare const userIndex: MutableAtomToken<SetRTX<UserKey>, SetRTXJson<UserKey>>;
148
133
  declare const usersOfSockets: JoinToken<`user`, UserKey, `socket`, SocketKey, `1:1`>;
149
-
150
134
  //#endregion
151
135
  //#region src/realtime-server/realtime-server-stores/server-sync-store.d.ts
152
136
  // export const completeUpdateAtoms = atomFamily<
@@ -178,7 +162,6 @@ declare const redactorAtoms: RegularAtomFamilyToken<{
178
162
  // })
179
163
  type ContinuitySyncTransactionUpdate = Pick<TransactionUpdate<any>, `epoch` | `id` | `key` | `output` | `updates`>;
180
164
  declare const userUnacknowledgedQueues: RegularAtomFamilyToken<ContinuitySyncTransactionUpdate[], UserKey>;
181
-
182
165
  //#endregion
183
166
  //#region src/realtime-server/realtime-state-provider.d.ts
184
167
  type StateProvider = ReturnType<typeof realtimeStateProvider>;
@@ -186,7 +169,6 @@ declare function realtimeStateProvider({
186
169
  socket,
187
170
  store
188
171
  }: ServerConfig): <J extends Json.Serializable>(token: AtomIO.WritableToken<J>) => () => void;
189
-
190
172
  //#endregion
191
173
  //#region src/realtime-server/realtime-state-receiver.d.ts
192
174
  type StateReceiver = ReturnType<typeof realtimeStateReceiver>;
@@ -194,7 +176,6 @@ declare function realtimeStateReceiver({
194
176
  socket,
195
177
  store
196
178
  }: ServerConfig): <J extends Json.Serializable>(token: WritableToken<J>) => () => void;
197
-
198
179
  //#endregion
199
180
  //#region src/realtime-server/index.d.ts
200
181
  type Socket = {
@@ -209,7 +190,6 @@ type ServerConfig = {
209
190
  socket: Socket;
210
191
  store?: Store;
211
192
  };
212
-
213
193
  //#endregion
214
194
  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
195
  //# 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();
@@ -579,7 +579,7 @@ function prepareToExposeRealtimeContinuity({ socket: initialSocket, store = IMPL
579
579
  return () => {};
580
580
  }
581
581
  const socketKeyState = findRelationsInStore(usersOfSockets, userKey, store).socketKeyOfUser;
582
- const unsubscribeFromSocketTracking = subscribeToState(store, socketKeyState, `sync-continuity:${continuityKey}:${userKey}`, ({ newValue: newSocketKey }) => {
582
+ const _unsubscribeFromSocketTracking = subscribeToState(store, socketKeyState, `sync-continuity:${continuityKey}:${userKey}`, ({ newValue: newSocketKey }) => {
583
583
  store.logger.info(`👋`, `continuity`, continuityKey, `seeing ${userKey} on new socket ${newSocketKey}`);
584
584
  if (newSocketKey === null) {
585
585
  store.logger.warn(`❌`, `continuity`, continuityKey, `User (${userKey}) is not connected to a socket, waiting for them to reappear.`);
@@ -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);