express-async-router
Version:
Express Async Router - An Express Router wrapper which automatically manage Promise.
36 lines (35 loc) • 1.74 kB
TypeScript
import * as express from "express";
export declare type Router = express.Router;
export declare type Request = express.Request;
export declare type Response = express.Response;
export declare type RequestHandler = express.RequestHandler;
export declare type RequestParamHandler = express.RequestParamHandler;
export declare type ErrorRequestHandler = express.ErrorRequestHandler;
export declare type ParamHandler = RequestParamHandler;
export declare type ErrorHandler = ErrorRequestHandler;
export declare type NextFunction = express.NextFunction;
export declare type AsyncRouterParamHandler = (req: Request, res: Response, param: any) => any;
export declare type AsyncRouterSender = (req: Request, res: Response, value: any) => any;
export interface AsyncRouterOptions {
caseSensitive?: boolean;
mergeParams?: boolean;
strict?: boolean;
send?: boolean;
sender?: AsyncRouterSender;
}
export interface AsyncRouter {
(): AsyncRouterInstance;
(options: AsyncRouterOptions): AsyncRouterInstance;
new (): AsyncRouterInstance;
new (options: AsyncRouterOptions): AsyncRouterInstance;
}
export interface AsyncRouterInstance extends express.Router {
param(name: string, handler: ParamHandler): this;
param(name: string, matcher: RegExp): this;
param(name: string, mapper: (param: any) => any): this;
param(callback: (name: string, matcher: RegExp) => ParamHandler): this;
param(name: string, handler: AsyncRouterParamHandler): void;
}
export declare function AsyncRouter(options?: AsyncRouterOptions): AsyncRouterInstance;
export declare function create(): AsyncRouterInstance;
export declare function create(options: AsyncRouterOptions): AsyncRouterInstance;