kakapo
Version:
Next generation mocking framework in Javascript
28 lines (27 loc) • 1.03 kB
TypeScript
import { KakapoRequest } from '../Request';
import { KakapoResponse } from '../Response';
import { Database, DatabaseSchema } from '../Database';
export declare type RouterHandler<M extends DatabaseSchema> = (request: KakapoRequest, db: Database<M>) => KakapoResponse | any | Promise<KakapoResponse | any>;
export interface InterceptorConfig<M extends DatabaseSchema> {
host: string;
routes: {
[method: string]: {
[path: string]: RouterHandler<M>;
};
};
db: Database<M> | null;
requestDelay: number;
}
export interface UrlDetails {
handlers: any;
pathname: string;
fullpath: string;
}
export interface Interceptor<M extends DatabaseSchema> {
getDB(): Database<M> | null;
getDelay(): number;
getHandler(url: string, method: string): RouterHandler<M> | null;
getParams(url: string, method: string): any;
getQuery(url: string): any;
}
export declare const interceptorHelper: <M extends DatabaseSchema>(config: InterceptorConfig<M>) => Interceptor<M>;