UNPKG

@n1k1t/mock-server

Version:

Powerful util to setup mocks over HTTP APIs

57 lines 2.73 kB
import { Redis, RedisOptions } from 'ioredis'; import { Server } from 'socket.io'; import { ProvidersStorage, Router, Transport, TransportsStorage } from './models'; import { IIoExchangeSchema, IServerContext, IServerContextDefaults } from './types'; import { AnalyticsService, MetricsService } from './services'; import { OnsiteClient } from '../client'; export * from './transports'; export * from './models'; export * from './types'; export interface IMockServerConfiguration { port: number; host: string; containers?: { /** Seconds `default: 1h` */ expiredCleaningInterval?: number; }; transports?: Partial<Record<string, Transport>> & Record<string, Transport>; databases?: { redis?: RedisOptions; }; } export declare class MockServer<TConfiguration extends IMockServerConfiguration = IMockServerConfiguration, TContext extends IServerContext = IServerContext> { configuration: TConfiguration; TContext: TContext; timestamp: number; authority: string; databases: { redis: Redis | null; }; exchanges: { io: import("./models").ISocketIoExchangeService<IIoExchangeSchema>; }; providers: ProvidersStorage<TContext>; transports: TransportsStorage<TContext>; router: Router<TContext>; http: import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>; ws: import("ws").Server<typeof import("ws"), typeof import("http").IncomingMessage>; io: Server<import("socket.io/dist/typed-events").DefaultEventsMap, import("socket.io/dist/typed-events").DefaultEventsMap, import("socket.io/dist/typed-events").DefaultEventsMap, any>; services: { readonly analytics: AnalyticsService; readonly metrics: MetricsService; }; private internal; constructor(configuration: TConfiguration); get client(): OnsiteClient<TContext>; unbindExpiredContainers(): this; static start<TConfiguration extends IMockServerConfiguration, TContext extends IServerContext = IServerContext<{ transport: IServerContextDefaults['transport'] | Extract<keyof TConfiguration['transports'], string>; event: IServerContextDefaults['event'] | { [K in keyof TConfiguration['transports']]: NonNullable<TConfiguration['transports']>[K]['TContext']['event']; }[keyof TConfiguration['transports']]; flag: IServerContextDefaults['flag'] | { [K in keyof TConfiguration['transports']]: NonNullable<TConfiguration['transports']>[K]['TContext']['flag']; }[keyof TConfiguration['transports']]; }>>(configuration: TConfiguration): Promise<MockServer<TConfiguration, TContext>>; } //# sourceMappingURL=index.d.ts.map