@n1k1t/mock-server
Version:
The ultimate toolkit to intercept, transform, and simulate HTTP/WS traffic with type-safe expectations
26 lines • 1.25 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<K extends string> {
transports: Partial<Record<K, Transport>>;
provider: Provider<any>;
}
export interface IRouteMatchResult<T extends Transport = Transport> {
transport: T;
provider: Provider<any>;
}
export declare class Router<TContext extends IServerContext = any> extends Map<string, Set<IRouteContext<TContext['transport']>>> {
protected server: MockServer;
constructor(server: MockServer);
default<T extends Transport>(transport: TContext['transport']): IRouteMatchResult<T>;
register(pattern: string, configuration: {
provider: Provider<any>;
transports?: TContext['transport'][] | Partial<Record<TContext['transport'], Transport>>;
}): this;
/** Deletes each route that is using provider */
unregister(provider: Provider): this;
match<T extends Transport>(transport: TContext['transport'], path: string): Generator<IRouteMatchResult<T>>;
static build<TContext extends IServerContext>(server: MockServer): Router<TContext>;
}
//# sourceMappingURL=router.d.ts.map