@slowvoid.dev/express
Version:
node decorators - decorators for express library
26 lines (25 loc) • 1.09 kB
TypeScript
import { Request, Response, NextFunction, RequestHandler, ErrorRequestHandler } from 'express';
import { InjectionToken } from "@slowvoid.dev/di";
import { Type } from './types';
export type MiddlewareFunction = (req: Request, res: Response, next: NextFunction) => void;
export interface MiddlewareClass {
use: MiddlewareFunction;
}
export type Middleware = MiddlewareFunction | Type<MiddlewareClass>;
export type ErrorMiddlewareFunction = (error: Error, request: Request, response: Response, next: NextFunction) => void;
export interface ErrorMiddlewareClass {
use: ErrorMiddlewareFunction;
}
export type ErrorMiddleware = ErrorMiddlewareFunction | Type<ErrorMiddlewareClass>;
/**
* Create request middleware handler that uses class or function provided as middleware
*/
export declare function middlewareHandler(middleware: Middleware): RequestHandler;
/**
* Error Middleware class registration DI token
*/
export declare const ERROR_MIDDLEWARE: InjectionToken;
/**
* Add error middleware to the app
*/
export declare function errorMiddlewareHandler(): ErrorRequestHandler;