UNPKG

@slowvoid.dev/express

Version:

node decorators - decorators for express library

82 lines (81 loc) 1.51 kB
import { RouterOptions } from 'express'; import { Middleware } from './middleware'; /** * All possible parameter decorator types * * @export * @enum {number} */ export declare enum ParameterType { REQUEST = 0, RESPONSE = 1, PARAMS = 2, QUERY = 3, BODY = 4, HEADERS = 5, COOKIES = 6, NEXT = 7 } /** * Cached(meta) parameter configuration * * @export * @interface ParameterConfiguration */ export interface ParameterConfiguration { index: number; type: ParameterType; name?: string; data?: any; } /** * Cached(meta) route configuration * * @export * @interface Route */ export interface Route { method: string; url: string; middleware: Middleware[]; } /** * Method metadata object */ export interface MethodMeta { routes: Route[]; status?: number; } /** * Express decorators controller metadata * * @export * @interface ExpressMeta */ export interface ExpressMeta { url: string; routerOptions?: RouterOptions; routes: { [instanceMethodName: string]: MethodMeta; }; middleware: Middleware[]; params: { [key: string]: ParameterConfiguration[]; }; } /** * Express decorators controller * * @export * @interface ExpressMeta */ export interface ExpressClass { __express_meta__?: ExpressMeta; } /** * Get or initiate metadata on a target * * @param {ExpressClass} target * @returns {ExpressMeta} */ export declare function getMeta(target: ExpressClass): ExpressMeta;