UNPKG

@n1k1t/mock-server

Version:

The ultimate toolkit to intercept, transform, and simulate HTTP/WS traffic with type-safe expectations

69 lines 2.94 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 { OnsiteClient } from '../client'; import * as services from './services'; export * from './transports'; export * from './models'; export * from './types'; export interface IMockServerConfiguration { port: number; host: string; containers?: { /** Seconds `default: 1h` */ expiredCleaningInterval?: number; }; providers?: { /** Seconds `default: 5m` */ expiredCleaningInterval?: number; }; hooks?: { shudown?: { /** Enables shutdown events listening like `SIGTERM`, `SIGINT`, etc (default `true`) */ isEnabled?: boolean; }; }; transports?: Record<string, Transport>; databases?: { redis?: RedisOptions; }; } export declare class MockServer<TConfiguration extends IMockServerConfiguration = any, TContext extends IServerContext = any> { 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>; wss: import("ws").Server<typeof import("ws"), typeof import("http").IncomingMessage>; http: import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>; 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 shutdown: services.ShutdownService; readonly metrics: services.MetricsService; readonly redis: services.RedisService; readonly containers: services.ContainersService; readonly history: services.HistoryService; }; private system; constructor(configuration: TConfiguration); /** Default client to work with main API */ get client(): OnsiteClient<TContext>; private setupJobs; /** Starts and setups mock server */ static start<TConfiguration extends IMockServerConfiguration, TContext extends IServerContext = { transport: IServerContextDefaults['transport'] | Extract<keyof TConfiguration['transports'], string>; 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