UNPKG

aspida-mock

Version:

TypeScript friendly RESTful API mock for aspida

34 lines 1.62 kB
import { AspidaClient, HttpMethod } from 'aspida'; import callMockHandler, { hasMockHandler } from './callMockHandler'; import { MockMethods, MockResponse, PartialResponse } from './types'; import { createValues } from './utils'; export declare const mockMethods: <T extends Partial<Record<import("aspida").LowerHttpMethod, import("aspida").AspidaMethodParams>>>(methods: MockMethods<T>) => MockMethods<T>; export type MockRoute = { path: string; methods: MockMethods<any>; }; export type MockRequestConfig = { path: string; method: HttpMethod; reqBody: any | undefined; reqHeaders: any | undefined; query: any | undefined; }; export type MockRequestConfigAndValues = MockRequestConfig & { values: ReturnType<typeof createValues>; }; export type MiddlewareHandler = (req: MockRequestConfigAndValues, res: (res?: PartialResponse | undefined) => void, next: (req?: MockRequestConfigAndValues | undefined) => void) => void | Promise<void>; export declare const mockMiddleware: (middleware: MiddlewareHandler[]) => MiddlewareHandler[]; export type MockConfig = { log?: boolean; delayMSec?: number | undefined; middleware?: MiddlewareHandler[] | undefined; }; export type MockClient<U> = AspidaClient<U> & { attachRoutes(routes: MockRoute[], config?: MockConfig | undefined): void; detachRoutes(): void; }; export declare const printLog: (config: MockRequestConfig, status: number) => void; export declare const mockClient: <T>(aspidaClient: AspidaClient<T>) => MockClient<T>; export { MockResponse, callMockHandler, hasMockHandler }; //# sourceMappingURL=index.d.ts.map