import {useSWRConfig} from "swr"; interface UseDataMutation<T> { key: string, mutation: (data: T) => Promise<T> } export const useDataMutation = <T>({key, mutation}: UseDataMutation<T> ) => { const { mutate: swrMutate } = useSWRConfig() const mutate = async (data: T) => { await swrMutate(key, mutation(data)) } return {mutate} }