UNPKG

lyrebird

Version:

A wrapper for writing more reusable and cleaner mocks using mswjs.io.

59 lines (54 loc) 2.63 kB
import { RESTMethods, RestHandler as RestHandler$1, SetupWorkerApi } from 'msw'; import { SetupServerApi } from 'msw/node'; import { DefaultRequestBody, MockedRequest, defaultContext, AsyncResponseResolverReturnType } from 'msw/lib/types/handlers/RequestHandler'; import { ResponseComposition, MockedResponse } from 'msw/lib/types/response'; import { RequestParams, RestRequest, RestContext } from 'msw/lib/types/handlers/RestHandler'; declare type RequestParameters = Record<string, string>; declare type ResponseResolver<RequestType = MockedRequest, ContextType = typeof defaultContext, BodyType = unknown> = (props: { request: RequestType; response: ResponseComposition<BodyType>; context: ContextType; }) => AsyncResponseResolverReturnType<MockedResponse<BodyType>>; declare class RestHandler<ResponseBody = unknown, RequestPayload = unknown> { private method; private url?; private params?; private requestPayload?; private responseStatusCode; private responseBody?; private resolver?; name: string | null; on(method: RESTMethods | keyof typeof RESTMethods, url: string): this; onGet(url: string): this; onPost(url: string): this; onPatch(url: string): this; onPut(url: string): this; onOptions(url: string): this; onHead(url: string): this; onDelete(url: string): this; withParams(params: RequestParameters): this; withPayload<Payload extends RequestPayload>(payload: Payload): RestHandler<ResponseBody, Payload>; reply<Body extends ResponseBody>(status: number, body?: Body): RestHandler<Body, RequestPayload>; resolve<RequestBodyType extends DefaultRequestBody = DefaultRequestBody, ResponseBody extends DefaultRequestBody = any, Params extends RequestParams = RequestParams>(resolver: ResponseResolver<RestRequest<RequestBodyType, Params>, RestContext, ResponseBody>): this; as(name: string): this; run(): RestHandler$1<MockedRequest<DefaultRequestBody>>; } declare class HandlerCollection { private collection; constructor(); collect(...handlers: Array<RestHandler>): void; find(name: string): RestHandler; } interface MockServerOptions { collection: HandlerCollection; } declare class MockServer { private readonly server; private readonly collection?; constructor(server: SetupServerApi | SetupWorkerApi, options?: MockServerOptions); use(...handlers: Array<string> | Array<RestHandler>): void; enable(...handlers: Array<string>): void; private enableHandlerInstance; private enableHandlerFromCollection; } export { HandlerCollection, MockServer, RestHandler };