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.56 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'];
    getSnapshot: <OptionsType extends {
        mutationMode: MutationMode;
    }>(params: Partial<TVariables>, options: OptionsType) => Snapshot;
    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