UNPKG

rjweb-server

Version:

Easy and Robust Way to create a Web Server with Many Easy-to-use Features in NodeJS

24 lines (23 loc) 2.93 kB
import { HttpRequest, WsConnect, WsMessage, WsClose } from "./external"; import { RealAny, EndFn, MiddlewareInitted, MergeObjects } from "./internal"; type HTTPRequest<Context extends Record<any, any>, Middlewares extends MiddlewareInitted[]> = (ctr: MergeObjects<[HttpRequest<Context, unknown>, InstanceType<Middlewares[number]['data']['classModifications']['http']>]>, end: EndFn) => RealAny; type HTTPError<Context extends Record<any, any>, Middlewares extends MiddlewareInitted[]> = (ctr: MergeObjects<[HttpRequest<Context, unknown>, InstanceType<Middlewares[number]['data']['classModifications']['http']>]>, error: unknown) => RealAny; type WSConnect<Context extends Record<any, any>, Middlewares extends MiddlewareInitted[]> = (ctr: MergeObjects<[WsConnect<Context, unknown>, InstanceType<Middlewares[number]['data']['classModifications']['wsConnect']>]>, end: EndFn) => RealAny; type WSMessage<Context extends Record<any, any>, Middlewares extends MiddlewareInitted[]> = (ctr: MergeObjects<[WsMessage<Context, unknown>, InstanceType<Middlewares[number]['data']['classModifications']['wsMessage']>]>, end: EndFn) => RealAny; type WSClose<Context extends Record<any, any>, Middlewares extends MiddlewareInitted[]> = (ctr: MergeObjects<[WsClose<Context, unknown>, InstanceType<Middlewares[number]['data']['classModifications']['wsClose']>]>, end: EndFn) => RealAny; type WSConnectError<Context extends Record<any, any>, Middlewares extends MiddlewareInitted[]> = (ctr: MergeObjects<[WsConnect<Context, unknown>, InstanceType<Middlewares[number]['data']['classModifications']['wsConnect']>]>, error: unknown) => RealAny; type WSMessageError<Context extends Record<any, any>, Middlewares extends MiddlewareInitted[]> = (ctr: MergeObjects<[WsMessage<Context, unknown>, InstanceType<Middlewares[number]['data']['classModifications']['wsMessage']>]>, error: unknown) => RealAny; type WSCloseError<Context extends Record<any, any>, Middlewares extends MiddlewareInitted[]> = (ctr: MergeObjects<[WsClose<Context, unknown>, InstanceType<Middlewares[number]['data']['classModifications']['wsClose']>]>, error: unknown) => RealAny; type Route404<Context extends Record<any, any>, Middlewares extends MiddlewareInitted[]> = (ctr: MergeObjects<[HttpRequest<Context, unknown>, InstanceType<Middlewares[number]['data']['classModifications']['http']>]>) => RealAny; export type EventHandlerMap<Context extends Record<any, any>, Middlewares extends MiddlewareInitted[]> = { httpRequest: HTTPRequest<Context, Middlewares>; httpError: HTTPError<Context, Middlewares>; wsConnect: WSConnect<Context, Middlewares>; wsMessage: WSMessage<Context, Middlewares>; wsClose: WSClose<Context, Middlewares>; wsConnectError: WSConnectError<Context, Middlewares>; wsMessageError: WSMessageError<Context, Middlewares>; wsCloseError: WSCloseError<Context, Middlewares>; route404: Route404<Context, Middlewares>; }; export {};