UNPKG

flechette

Version:

A highly configurable wrapper for Fetch API that supports programmatic retries and completely obfuscates promise handling.

49 lines (48 loc) 1.65 kB
export declare const reservedKeyName = "flechette"; export interface NetResponse { statusCode: number; response: string; sent: SendArgs; } export interface FlechetteResponse { success: boolean; statusCode: number; response: any; sent: SendArgs; } export interface SendArgs extends RequestInit { path: string; instanceName?: string; retryActions?: Array<RetryAction>; } export declare type ResponseFunc = (response: FlechetteResponse | Array<FlechetteResponse>) => void; export declare type ToggleFunc = (isWaiting: boolean) => void; export declare type RetryFunc = (response: FlechetteResponse, successFunc: ResponseFunc, failureFunc: ResponseFunc) => void; export interface RetryAction { code: number; action: RetryFunc; pathsToIgnore?: Array<string>; } export interface Flechette { successCodes?: Array<number | string>; retryActions?: Array<RetryAction>; timeout?: number; maxTimeoutRetryCount?: number; baseUrl?: string; headers?: Headers; instanceName?: string; } export declare class FlechetteController { successCodes: Array<number | string>; retryActions: Array<RetryAction>; timeout: number; maxTimeoutRetryCount: number; baseUrl: string; headers: Headers | string[][] | Record<string, string> | undefined; instanceName: string; abortController: AbortController; constructor(props: Flechette); abortCurrentFetch(): void; } export declare const configureFlechette: (i?: Flechette | undefined) => FlechetteController; export declare const getFlechetteInstance: (instanceName?: string | undefined) => FlechetteController;