aspida-mock
Version:
TypeScript friendly RESTful API mock for aspida
34 lines • 1.62 kB
TypeScript
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