UNPKG

miter

Version:

A typescript web framework based on ExpressJs based loosely on SailsJs

42 lines (41 loc) 1.95 kB
/// <reference types="express" /> import 'reflect-metadata'; import { Request, Response, Application as ExpressApp } from 'express'; import { Injector } from '../core/injector'; import { RouterMetadata } from '../metadata/server/router'; import { Logger } from '../services/logger'; import { ErrorHandler } from '../services/error-handler'; import { RouterService } from '../services/router.service'; import './extend-req-res'; export declare type RouteInterceptorNextFunction = () => Promise<void>; export declare type RouteInterceptor = (req: Request, res: Response, next: RouteInterceptorNextFunction) => Promise<void>; export declare class RouterReflector { private injector; private logger; private errorHandler; private routerMeta; private _router; constructor(injector: Injector, logger: Logger, errorHandler: ErrorHandler, routerMeta: RouterMetadata, _router: RouterService); readonly router: RouterService; private controllersReflected; private routesReflected; reflectServerRoutes(app: ExpressApp): void; reflectRoutes(controllers: any[], parentControllers?: any[]): void; private controllers; reflectControllerRoutes(parentControllers: any[], controllerFn: any): void; private _interceptors; registerRouteInterceptor(interceptor: RouteInterceptor): void; private reflectRouteMeta(controllerProto); private addRoute(parentMeta, controller, routeFnName, controllerMeta, routeMeta); private getControllerName(controller); private getParentPolicyDescriptors(parentMeta); private flattenPolicies(descriptors); private flattenPolicies_recursive(descriptors, aggregate); private resolvePolicies(descriptors); private isPolicyCtor(desc); private isPolicyT(desc); unfinishedRoutes: number; requestIndex: number; private createFullRouterFn(policies, boundRoute, routeMethodName); private createPolicyResultsFn(policies, allResults); }