UNPKG

msw-ssr-interceptor

Version:
24 lines (21 loc) 1.28 kB
import { PathParams, DefaultBodyType, Path, HttpResponseResolver, RequestHandlerOptions, http } from 'msw'; type HttpRequestHandler = <Params extends PathParams<keyof Params> = PathParams, RequestBodyType extends DefaultBodyType = DefaultBodyType, ResponseBodyType extends DefaultBodyType = undefined, RequestPath extends Path = Path>(path: RequestPath, resolver: HttpResponseResolver<Params, RequestBodyType, ResponseBodyType>, options?: RequestHandlerOptions) => SerialisableRequestHandler; type HttpMethod = keyof typeof http; type HttpNamespace = { [K in HttpMethod]: HttpRequestHandler; }; interface InterceptorRequestHandlerOptions extends RequestHandlerOptions { dependencies?: string[]; } interface SerialisableRequestHandler { path: Path; method: HttpMethod; resolver: HttpResponseResolver<any, any, any>; options: InterceptorRequestHandlerOptions; } interface Interceptor { close: () => Promise<void>; use: (...customHandlers: SerialisableRequestHandler[]) => Promise<void>; resetHandlers: (...customHandlers: SerialisableRequestHandler[]) => Promise<void>; } export type { HttpNamespace as H, Interceptor as I, SerialisableRequestHandler as S, HttpMethod as a, HttpRequestHandler as b, InterceptorRequestHandlerOptions as c };