import type { Process, ProcessContext } from '@/process/types'; import { useStore } from '@/stores/hooks'; import { trpcPureClient } from '@/trpc/client'; import { useApolloClient } from '@apollo/client'; import { useQueryClient } from '@tanstack/react-query'; export function useProcess({ reactions }: Process) { const context = useProcessContext(); Object.keys(reactions).forEach((name) => { const injector = reactions[name]; injector(context); }); } export function useProcessContext(): ProcessContext { const store = useStore(); const apolloClient = useApolloClient(); const queryClient = useQueryClient(); return { apolloClient, queryClient, store, trpcClient: trpcPureClient, }; }