UNPKG

@ace-fetch/core

Version:

Fetch Provider.

61 lines (60 loc) 1.57 kB
import type { PluginDefinition, Request } from '../types'; interface ReturnTypeLoading { /** * show loading handler * @returns hide loading handler */ (): () => void; } interface StatusTypeLoading { /** * @param loading loading status * @param text loading text */ (loading: boolean, text?: string): void; } /** * loading handler, show loading status according to the status or return hide loading handler * @param loading loading status * @param text loading text * @returns hide loading handler */ export type LoadingHandler = ReturnTypeLoading | StatusTypeLoading; export type LoadingOptions = { /** * delay (ms) * @default 260 */ delay?: number; /** * custom loading handler */ handler?: LoadingHandler; }; /** * regist loading plugin on current promise request * @param request request promise * @param options catch error options */ export declare function registLoading(request: Request, options: LoadingOptions): Request; /** * 注入加载中插件 * 只在regist apis上运行 (and 自定义条件下) * @param options 插件配置 */ export declare const createLoadingPlugin: PluginDefinition<LoadingOptions>; declare module '../types' { interface RequestCustomConfig { /** * enable loading * or custom loading handler/options * @default false */ loading?: boolean | LoadingHandler | Required<LoadingOptions>; /** * loading text */ loadingText?: string; } } export {};