UNPKG

@iopa/router

Version:

Lightweight and fast router for IOPA applications

27 lines 1.22 kB
import type { IContextIopa, IRouterResult, IRouter, IRouterApp, Next, AppHandler } from '@iopa/types'; interface IRoute { path: string; method: string; handler: NamedAppHandler; } declare type NamedAppHandler = AppHandler & { id: string; options?: unknown; }; export default class RouterMiddleware { readonly router: IRouter<NamedAppHandler>; readonly strict: boolean; protected _basePath: string; routes: IRoute[]; constructor(app: IRouterApp, options?: { router?: IRouter<NamedAppHandler>; }); invoke(context: IContextIopa<any>, next: Next): Promise<void>; protected _addRoute(method: string, path: string, handler: NamedAppHandler, options?: unknown): IRoute; protected _matchRoute(context: IContextIopa): Promise<IRouterResult<NamedAppHandler | null>>; protected _preprocessRoute(result: IRouterResult<NamedAppHandler | null>, context: IContextIopa): void; protected _validateRoute(result: IRouterResult<NamedAppHandler | null>, context: IContextIopa): Promise<void>; protected _handleRoute(result: IRouterResult<NamedAppHandler | null>, context: IContextIopa, next: Next): Promise<void>; } export {}; //# sourceMappingURL=index.d.ts.map