UNPKG

@ace-fetch/graphql

Version:

Fetch Provider.

45 lines (44 loc) 1.24 kB
import type { PluginDefinition } from '../types'; /** * retry options */ export type RetryOptions = { /** * max retry count * @default 3 */ maxCount?: number; /** * enabled retry delay (formula(2 ^ count - 1 / 2) * 1000 ms) * @default true */ delay?: boolean; /** * customized retry condition * @default (error) => error.message === 'Network Error' */ validateError?: (error: Error) => boolean; }; export declare const RetryCountSymbol = "__RetryCount__"; /** * regist retry plugin on current promise request * @param request request promise * @param options catch error options */ export declare function registRetry<Request extends (config: any) => any>(request: Request, options: RetryOptions): (config?: Parameters<Request>[0]) => ReturnType<Request>; /** * 注册重试插件 * 只在regist graphqls上运行 (and 自定义条件下) * @param options 插件配置 */ export declare const createRetryPlugin: PluginDefinition<RetryOptions>; declare module '../types' { interface RequestCustomConfig { /** * enable retry * or custom retry options * @default false */ retry?: boolean | RetryOptions; } }