UNPKG

@ace-fetch/graphql

Version:

Fetch Provider.

62 lines (61 loc) 1.54 kB
import type { PluginDefinition } 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, * @return unloading handler */ export type LoadingHandler = ReturnTypeLoading | StatusTypeLoading; /** * loading options */ 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 extends (config: any) => any>(request: Request, options: LoadingOptions): (config: Parameters<Request>[0]) => ReturnType<Request>; /** * 注入加载中插件 * 只在regist graphqls上运行 (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 {};