UNPKG

@gdjiami/hooks

Version:

react hooks for mygzb.com

25 lines (24 loc) 1.54 kB
export interface Res<T, S> { loading: boolean; error?: Error; setError: (v?: Error) => void; setLoading: (v: boolean) => void; value?: S; setValue: (v: S) => void; call: T; reset: () => void; } export interface UsePromiseOptions { /** * skip execution when previous promise has not ended. default is true */ skipOnLoading?: boolean; } declare function usePromise<T>(action: () => Promise<T>, option?: UsePromiseOptions): Res<() => Promise<T>, T>; declare function usePromise<T, A>(action: (arg0: A) => Promise<T>, option?: UsePromiseOptions): Res<(arg0: A) => Promise<T>, T>; declare function usePromise<T, A, B>(action: (arg0: A, arg1: B) => Promise<T>, option?: UsePromiseOptions): Res<(arg0: A, arg1: B) => Promise<T>, T>; declare function usePromise<T, A, B, C>(action: (arg0: A, arg1: B, arg2: C) => Promise<T>, option?: UsePromiseOptions): Res<(arg0: A, arg1: B, arg2: C) => Promise<T>, T>; declare function usePromise<T, A, B, C, D>(action: (arg0: A, arg1: B, arg2: C, arg3: D) => Promise<T>, option?: UsePromiseOptions): Res<(arg0: A, arg1: B, arg2: C, arg3: D) => Promise<T>, T>; declare function usePromise<T, A, B, C, D, E>(action: (arg0: A, arg1: B, arg2: C, arg3: D, arg4: E) => Promise<T>, option?: UsePromiseOptions): Res<(arg0: A, arg1: B, arg2: C, arg3: D, arg4: E) => Promise<T>, T>; declare function usePromise(action: (...args: any[]) => Promise<any>, option?: UsePromiseOptions): Res<(...args: any) => Promise<any>, any>; export default usePromise;