UNPKG

1.09 kBTypeScriptView Raw
1import { CommonRequest, CommonResponse } from "servie/dist/common";
2/**
3 * Browser detection.
4 */
5declare global {
6 namespace NodeJS {
7 interface Process {
8 browser?: boolean;
9 }
10 }
11}
12/**
13 * Check if the request should be attempted again.
14 */
15export declare function retryAllowed(error?: Error & {
16 code?: string;
17}, response?: CommonResponse): boolean;
18/**
19 * Init a default retry function.
20 */
21export declare function retries(count?: number, isRetryAllowed?: typeof retryAllowed): (error: Error | undefined, response: CommonResponse<unknown> | undefined, iter: number) => number;
22/**
23 * Middleware signature.
24 */
25export declare type App<T extends CommonRequest, U extends CommonResponse> = (req: T, next: () => Promise<U>) => Promise<U>;
26/**
27 * Middleware for running retry logic.
28 */
29export declare function retry<T extends CommonRequest, U extends CommonResponse>(fn: App<T, U>, shouldRetry?: (error: Error | undefined, response: CommonResponse | undefined, iter: number) => number, preFlight?: (req: T, iter: number, origRequest: T) => T): App<T, U>;