1 | import { MutationOptions, MutationStatus, MutationMeta } from './types';
|
2 | import { MutationCache } from './mutationCache';
|
3 | import { MutationObserver } from './mutationObserver';
|
4 | interface MutationConfig<TData, TError, TVariables, TContext> {
|
5 | mutationId: number;
|
6 | mutationCache: MutationCache;
|
7 | options: MutationOptions<TData, TError, TVariables, TContext>;
|
8 | defaultOptions?: MutationOptions<TData, TError, TVariables, TContext>;
|
9 | state?: MutationState<TData, TError, TVariables, TContext>;
|
10 | meta?: MutationMeta;
|
11 | }
|
12 | export interface MutationState<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> {
|
13 | context: TContext | undefined;
|
14 | data: TData | undefined;
|
15 | error: TError | null;
|
16 | failureCount: number;
|
17 | isPaused: boolean;
|
18 | status: MutationStatus;
|
19 | variables: TVariables | undefined;
|
20 | }
|
21 | interface FailedAction {
|
22 | type: 'failed';
|
23 | }
|
24 | interface LoadingAction<TVariables, TContext> {
|
25 | type: 'loading';
|
26 | variables?: TVariables;
|
27 | context?: TContext;
|
28 | }
|
29 | interface SuccessAction<TData> {
|
30 | type: 'success';
|
31 | data: TData;
|
32 | }
|
33 | interface ErrorAction<TError> {
|
34 | type: 'error';
|
35 | error: TError;
|
36 | }
|
37 | interface PauseAction {
|
38 | type: 'pause';
|
39 | }
|
40 | interface ContinueAction {
|
41 | type: 'continue';
|
42 | }
|
43 | interface SetStateAction<TData, TError, TVariables, TContext> {
|
44 | type: 'setState';
|
45 | state: MutationState<TData, TError, TVariables, TContext>;
|
46 | }
|
47 | export declare type Action<TData, TError, TVariables, TContext> = ContinueAction | ErrorAction<TError> | FailedAction | LoadingAction<TVariables, TContext> | PauseAction | SetStateAction<TData, TError, TVariables, TContext> | SuccessAction<TData>;
|
48 | export declare class Mutation<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> {
|
49 | state: MutationState<TData, TError, TVariables, TContext>;
|
50 | options: MutationOptions<TData, TError, TVariables, TContext>;
|
51 | mutationId: number;
|
52 | meta: MutationMeta | undefined;
|
53 | private observers;
|
54 | private mutationCache;
|
55 | private retryer?;
|
56 | constructor(config: MutationConfig<TData, TError, TVariables, TContext>);
|
57 | setState(state: MutationState<TData, TError, TVariables, TContext>): void;
|
58 | addObserver(observer: MutationObserver<any, any, any, any>): void;
|
59 | removeObserver(observer: MutationObserver<any, any, any, any>): void;
|
60 | cancel(): Promise<void>;
|
61 | continue(): Promise<TData>;
|
62 | execute(): Promise<TData>;
|
63 | private executeMutation;
|
64 | private dispatch;
|
65 | }
|
66 | export declare function getDefaultState<TData, TError, TVariables, TContext>(): MutationState<TData, TError, TVariables, TContext>;
|
67 | export {};
|