1 | export declare type fetcherFn<Data> = (...args: any) => Data | Promise<Data>;
|
2 | export interface ConfigInterface<Data = any, Error = any, Fn extends fetcherFn<Data> = fetcherFn<Data>> {
|
3 | errorRetryInterval?: number;
|
4 | loadingTimeout?: number;
|
5 | focusThrottleInterval?: number;
|
6 | dedupingInterval?: number;
|
7 | refreshInterval?: number;
|
8 | refreshWhenHidden?: boolean;
|
9 | refreshWhenOffline?: boolean;
|
10 | revalidateOnFocus?: boolean;
|
11 | revalidateOnReconnect?: boolean;
|
12 | shouldRetryOnError?: boolean;
|
13 | fetcher?: Fn;
|
14 | suspense?: boolean;
|
15 | initialData?: Data;
|
16 | onLoadingSlow?: (key: string, config: ConfigInterface<Data, Error>) => void;
|
17 | onSuccess?: (data: Data, key: string, config: ConfigInterface<Data, Error>) => void;
|
18 | onError?: (err: Error, key: string, config: ConfigInterface<Data, Error>) => void;
|
19 | onErrorRetry?: (err: Error, key: string, config: ConfigInterface<Data, Error>, revalidate: revalidateType, revalidateOpts: RevalidateOptionInterface) => void;
|
20 | }
|
21 | export interface RevalidateOptionInterface {
|
22 | retryCount?: number;
|
23 | dedupe?: boolean;
|
24 | }
|
25 | declare type keyFunction = () => string | any[] | null;
|
26 | export declare type keyInterface = keyFunction | string | any[] | null;
|
27 | export declare type updaterInterface<Data = any, Error = any> = (shouldRevalidate?: boolean, data?: Data, error?: Error, shouldDedupe?: boolean) => boolean | Promise<boolean>;
|
28 | export declare type triggerInterface = (key: keyInterface, shouldRevalidate?: boolean) => void;
|
29 | export declare type mutateInterface<Data = any> = (key: keyInterface, data: Data | Promise<Data>, shouldRevalidate?: boolean) => void;
|
30 | export declare type broadcastStateInterface<Data = any, Error = any> = (key: string, data: Data, error?: Error) => void;
|
31 | export declare type responseInterface<Data, Error> = {
|
32 | data?: Data;
|
33 | error?: Error;
|
34 | revalidate: () => Promise<boolean>;
|
35 | isValidating: boolean;
|
36 | };
|
37 | export declare type revalidateType = (revalidateOpts: RevalidateOptionInterface) => Promise<boolean>;
|
38 | export declare type pagesWithSWRType<Data, Error> = (swr: responseInterface<Data, Error>) => responseInterface<Data, Error>;
|
39 | export declare type pagesPropsInterface<Offset, Data, Error> = {
|
40 | offset: Offset;
|
41 | withSWR: pagesWithSWRType<Data, Error>;
|
42 | };
|
43 | export declare type pageComponentType<Offset, Data, Error> = (props: pagesPropsInterface<Offset, Data, Error>) => any;
|
44 | export declare type pageOffsetMapperType<Offset, Data, Error> = (SWR: responseInterface<Data, Error>, index: number) => Offset;
|
45 | export declare type pagesResponseInterface = {
|
46 | pages: any;
|
47 | pageCount: number;
|
48 | pageSWRs: responseInterface<any, any>[];
|
49 | isLoadingMore: boolean;
|
50 | isReachingEnd: boolean;
|
51 | isEmpty: boolean;
|
52 | loadMore: () => void;
|
53 | };
|
54 | export declare type actionType<Data, Error> = {
|
55 | data?: Data;
|
56 | error?: Error;
|
57 | isValidating?: boolean;
|
58 | };
|
59 | export {};
|