UNPKG

@sanp/ahooks-vue

Version:
40 lines (39 loc) 1.44 kB
import { Ref, WatchSource } from 'vue-demi'; export declare type noop = (...args: any[]) => void; export declare type Service<R, P extends any[]> = (...args: P) => Promise<R>; export declare type RequestService = string | { [key: string]: any; }; export declare type CombineService<R, P extends any[]> = RequestService | ((...args: P) => RequestService) | Service<R, P>; export interface UseRequestResult<R = any, P extends any[] = any[]> { loading: Ref<boolean>; data: Ref<R>; error: Ref<Error | undefined>; params: Ref<P>; lastSuccessParams: Ref<P | undefined>; cancel: () => void; refresh: () => Promise<any>; run: (...args: P) => Promise<any>; } export interface UseRequestOptions<R = any, P extends any[] = any[]> { formatResult: (res: any) => R; manual: boolean; onSuccess: (data: R, params: P) => void; onError: (e: Error, params: P) => void; onFinally: () => void; defaultLoading: boolean; loadingDelay: number; defaultParams: P; pollingInterval: number; pollingWhenHidden: boolean; pollingSinceLastFinished: boolean; debounceInterval: number; loadingWhenDebounceStart: boolean; throttleInterval: number; initialData: R; requestMethod: (service: any) => Promise<any>; ready: Ref<boolean>; throwOnError: boolean; refreshDeps: Array<WatchSource>; refreshOnWindowFocus: boolean; }