import type * as AtomIO from "atom.io" import type { Json } from "atom.io/foundations/json" import { StoreContext, useO } from "atom.io/react" import * as RTC from "atom.io/realtime-client" import * as React from "react" import { useRealtimeService } from "./use-realtime-service.ts" export function usePullAtom( token: AtomIO.RegularAtomToken, ): AtomIO.ViewOf { const store = React.useContext(StoreContext) useRealtimeService(`pull:${token.key}`, (socket) => RTC.pullAtom(store, socket, token), ) return useO(token) }