@tanstack/vue-query
Version:
Hooks for managing, caching and syncing asynchronous and remote data in Vue
23 lines (20 loc) • 1.95 kB
text/typescript
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 };