@n1k1t/mock-server
Version:
Powerful util to setup mocks over HTTP APIs
23 lines • 1.31 kB
TypeScript
import type { IServerContext } from '../types';
import type { MockServer } from '../index';
import type { Transport } from './transports';
import type { Provider } from './providers';
export interface IRouteContext<TTransportType extends string> {
transports: Partial<Record<TTransportType, Transport>>;
provider: Provider<any>;
}
export interface IRouteMatchResult<K extends string, T extends Transport = Transport> extends Pick<IRouteContext<K>, 'provider'> {
transport: T;
}
export declare class Router<TContext extends IServerContext = IServerContext> extends Map<string, IRouteContext<TContext['transport']>> {
protected server: MockServer<any, any>;
constructor(server: MockServer<any, any>);
default<T extends Transport>(transport: TContext['transport']): IRouteMatchResult<TContext['transport'], T>;
register(pattern: string, configuration: {
provider: Provider<any>;
transports?: TContext['transport'][] | Partial<Record<TContext['transport'], Transport>>;
}): this;
match<T extends Transport>(transport: TContext['transport'], path: string): Generator<IRouteMatchResult<TContext['transport'], T>>;
static build<TContext extends IServerContext = IServerContext>(server: MockServer<any, any>): Router<TContext>;
}
//# sourceMappingURL=router.d.ts.map