UNPKG

2.62 kBTypeScriptView Raw
1import { MutationOptions, MutationStatus, MutationMeta } from './types';
2import { MutationCache } from './mutationCache';
3import { MutationObserver } from './mutationObserver';
4interface 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}
12export 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}
21interface FailedAction {
22 type: 'failed';
23}
24interface LoadingAction<TVariables, TContext> {
25 type: 'loading';
26 variables?: TVariables;
27 context?: TContext;
28}
29interface SuccessAction<TData> {
30 type: 'success';
31 data: TData;
32}
33interface ErrorAction<TError> {
34 type: 'error';
35 error: TError;
36}
37interface PauseAction {
38 type: 'pause';
39}
40interface ContinueAction {
41 type: 'continue';
42}
43interface SetStateAction<TData, TError, TVariables, TContext> {
44 type: 'setState';
45 state: MutationState<TData, TError, TVariables, TContext>;
46}
47export declare type Action<TData, TError, TVariables, TContext> = ContinueAction | ErrorAction<TError> | FailedAction | LoadingAction<TVariables, TContext> | PauseAction | SetStateAction<TData, TError, TVariables, TContext> | SuccessAction<TData>;
48export 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}
66export declare function getDefaultState<TData, TError, TVariables, TContext>(): MutationState<TData, TError, TVariables, TContext>;
67export {};