UNPKG

rexuws

Version:

An express-like framework built on top of uWebsocket.js aims at simple codebase and high performance

19 lines (18 loc) 865 B
import AbstractRoutingParser, { IRouteBaseHandler, Ctor } from '../../core'; import { HttpMethod } from '../../../utils/types'; import { TMiddleware } from '../../../middlewares'; import { IGetRouteHandlers } from '../default'; /** * @abstract * An abstract class which extends from `AbstractRoutingParser` and implements `IGetRouteHandlers` to * allow accessing routeHandlers from outside */ export default abstract class BaseRouter<T extends Ctor> extends AbstractRoutingParser<IRouteBaseHandler, T> implements IGetRouteHandlers { protected add(method: HttpMethod, args: unknown[]): this; /** * Transfrom arguments into [path, middlewares] to fulfill the overrided add() in BaseRouter * @param args */ protected abstract transform(args: unknown[]): [string, TMiddleware[]]; getRouteHandlers(): Map<string, IRouteBaseHandler>; }