UNPKG

@tanstack/vue-query

Version:

Hooks for managing, caching and syncing asynchronous and remote data in Vue

23 lines (20 loc) 1.95 kB
import { ToRefs } from 'vue-demi'; import { DefaultError, MutationObserverOptions, DistributiveOmit, MutationObserverResult, MutateFunction } from '@tanstack/query-core'; import { MaybeRefDeep } from './types.cjs'; import { Q as QueryClient } from './queryClient-D8e9H09V.cjs'; type MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<MutationObserverResult<TData, TError, TVariables, TContext>, 'mutate' | 'reset'>; type UseMutationOptionsBase<TData, TError, TVariables, TContext> = MutationObserverOptions<TData, TError, TVariables, TContext> & { /** * Return data in a shallow ref object (it is `false` by default). It can be set to `true` to return data in a shallow ref object, which can improve performance if your data does not need to be deeply reactive. */ shallow?: boolean; }; type UseMutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = MaybeRefDeep<UseMutationOptionsBase<TData, TError, TVariables, TContext>>; type MutateSyncFunction<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = (...options: Parameters<MutateFunction<TData, TError, TVariables, TContext>>) => void; type UseMutationReturnType<TData, TError, TVariables, TContext, TResult = MutationResult<TData, TError, TVariables, TContext>> = ToRefs<Readonly<TResult>> & { mutate: MutateSyncFunction<TData, TError, TVariables, TContext>; mutateAsync: MutateFunction<TData, TError, TVariables, TContext>; reset: MutationObserverResult<TData, TError, TVariables, TContext>['reset']; }; declare function useMutation<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown>(mutationOptions: MaybeRefDeep<UseMutationOptionsBase<TData, TError, TVariables, TContext>>, queryClient?: QueryClient): UseMutationReturnType<TData, TError, TVariables, TContext>; export { type UseMutationOptions, type UseMutationReturnType, useMutation };