ra-core
Version:
Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React
52 lines • 2.57 kB
TypeScript
import { UseMutationOptions, UseMutationResult, MutateOptions, QueryKey } from '@tanstack/react-query';
import { MutationMode } from '../types';
export declare const useMutationWithMutationMode: <ErrorType = Error, TData extends {
data?: unknown;
} = {
data?: unknown;
}, TVariables = unknown>(params: TVariables | undefined, options: UseMutationWithMutationModeOptions<ErrorType, TData, TVariables>) => UseMutationWithMutationModeResult<boolean, ErrorType, TData, TVariables>;
export type Snapshot = [key: QueryKey, value: any][];
type MutationFunction<TData extends {
data?: unknown;
} = {
data?: unknown;
}, TVariables = unknown> = (variables: TVariables) => Promise<TData>;
export type UseMutationWithMutationModeOptions<ErrorType = Error, TData extends {
data?: unknown;
} = {
data?: unknown;
}, TVariables = unknown> = Omit<UseMutationOptions<TData['data'], ErrorType, Partial<TVariables>>, 'mutationFn'> & {
getMutateWithMiddlewares?: (mutate: MutationFunction<TData, TVariables>) => (params: TVariables) => Promise<TData>;
mutationFn?: MutationFunction<TData, TVariables>;
mutationMode?: MutationMode;
returnPromise?: boolean;
updateCache: <OptionsType extends {
mutationMode: MutationMode;
}>(params: Partial<TVariables>, options: OptionsType, mutationResult: TData['data'] | undefined) => TData['data'];
getQueryKeys: <OptionsType extends {
mutationMode: MutationMode;
}>(params: Partial<TVariables>, options: OptionsType) => Array<QueryKey>;
onUndo?: <OptionsType extends {
mutationMode: MutationMode;
}>(params: Partial<TVariables>, options: OptionsType) => void;
};
export type MutationFunctionWithOptions<TReturnPromise extends boolean = boolean, ErrorType = Error, TData extends {
data?: unknown;
} = {
data?: unknown;
}, TVariables = unknown> = (params?: Partial<TVariables>, options?: MutateOptions<TData['data'], ErrorType, Partial<TVariables>, unknown> & {
mutationMode?: MutationMode;
returnPromise?: TReturnPromise;
}) => Promise<TReturnPromise extends true ? TData['data'] : void>;
export type UseMutationWithMutationModeResult<TReturnPromise extends boolean = boolean, ErrorType = Error, TData extends {
data?: unknown;
} = {
data?: unknown;
}, TVariables = unknown> = [
MutationFunctionWithOptions<TReturnPromise, ErrorType, TData, TVariables>,
UseMutationResult<TData['data'], ErrorType, Partial<TVariables>, unknown> & {
isLoading: boolean;
}
];
export {};
//# sourceMappingURL=useMutationWithMutationMode.d.ts.map