2023-03-16 19:45:03 +03:00

28 lines
731 B
TypeScript

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,
};
}