UNPKG

mantine-entity

Version:

A library combining Mantine, TanStack Query, and Mantine React Table for efficient entity management

24 lines (23 loc) 949 B
import { useMutation, } from "@tanstack/react-query"; import { getQueryClient } from "../providers/QueryClientProvider"; export function useMutationQuery({ mutationParams, invalidateTags, options, httpDelete, httpPost, httpPut, }) { return useMutation({ mutationFn: async (body) => { if (mutationParams.method === "PUT") return await httpPut(mutationParams.url, body); if (mutationParams.method === "DELETE") return await httpDelete(mutationParams.url); return await httpPost(mutationParams.url, body); }, ...options, onSuccess: (data, variables, context) => { if (invalidateTags) { getQueryClient.invalidateQueries({ queryKey: invalidateTags, }); } if (options?.onSuccess) options?.onSuccess(data, variables, context); }, }); }