UNPKG

@straw-hat/fetcher

Version:
16 lines (15 loc) 742 B
import { HttpRequest } from './request.js'; export type Dispatch<T> = (request: HttpRequest) => Promise<T>; export type Middleware<T, P = Response> = (next: Dispatch<P>) => Dispatch<T>; export declare function compose(...fns: any[]): any; /** * Compose the list of middleware into a single middleware. * @param middlewares List of middleware */ export declare function composeMiddleware<T = any>(...middlewares: Array<Middleware<T, any>>): any; /** * This function doesn't really "do anything" at runtime, it's just the identity * function. Its only purpose is to defeat TypeScript's type. * @param middleware The middleware */ export declare function createMiddleware<T, P = Response>(middleware: Middleware<T, P>): Middleware<T, P>;