UNPKG

@antdv/pro-utils

Version:

@antdv/pro-utils

20 lines (19 loc) 1.08 kB
import type { Ref, UnwrapRef } from 'vue'; export interface UseRequestReturnBase<Data, Params extends any[], Shallow extends boolean> { state: Shallow extends true ? Ref<Data> : Ref<UnwrapRef<Data>>; isReady: Ref<boolean>; isLoading: Ref<boolean>; error: Ref<unknown>; execute: (delay?: number, ...args: Params) => Promise<Data>; } export type UseRequestReturn<Data, Params extends any[], Shallow extends boolean> = UseRequestReturnBase<Data, Params, Shallow> & PromiseLike<UseRequestReturnBase<Data, Params, Shallow>>; export interface UseRequestOptions<Shallow extends boolean, D = any> { delay?: number; immediate?: boolean; onError?: (e: unknown) => void; onSuccess?: (data: D) => void; resetOnExecute?: boolean; shallow?: Shallow; throwError?: boolean; } export declare function useRequest<Data, Params extends any[] = any[], Shallow extends boolean = true>(promise: Promise<Data> | ((...args: Params) => Promise<Data>), initialState?: Data, options?: UseRequestOptions<Shallow, Data>): UseRequestReturn<Data, Params, Shallow>;