forked from rgommezz/react-native-offline
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtypes.ts
50 lines (40 loc) · 1.02 KB
/
types.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import { AnyAction } from 'redux';
export interface Thunk {
(...args: any[]): any;
meta?: MetaProps;
interceptInOffline?: boolean;
}
export type EnqueuedAction = FluxAction | Thunk;
export interface MetaProps {
retry?: boolean;
dismiss?: string[];
[x: string]: any;
}
export interface FluxAction<T = any> extends AnyAction {
type: string;
payload: T;
meta?: MetaProps;
}
export interface NetworkState extends ConnectivityState {
isQueuePaused: boolean;
actionQueue: EnqueuedAction[];
}
export type ConnectivityState = {
isConnected: boolean | null;
};
export type HTTPMethod = 'HEAD' | 'OPTIONS';
export type AddUndefined<T> = { [P in keyof T]: T[P] | undefined };
export type ConnectivityArgs = {
pingTimeout: number;
pingServerUrl: string;
shouldPing: boolean;
pingInterval: number;
pingOnlyIfOffline: boolean;
pingInBackground: boolean;
httpMethod: HTTPMethod;
customHeaders?: HTTPHeaders;
};
export type SemaphoreColor = 'RED' | 'GREEN';
export type HTTPHeaders = {
[key: string]: string;
};