dinoloop-es8
Version:
A lightweight REST API Library for building scalable Node.js server-side applications powered by Typescript
29 lines (28 loc) • 1.53 kB
TypeScript
import { DinoController } from './dino.controller';
import { ApiController } from '../controller';
import { IDinoContainer } from '../interfaces';
import { IControllerAttributeProvider, IActionMethodAttribute, IDinoContainerConfig, IDinoProperties, Response } from '../types';
export declare class DinoContainer implements IDinoContainer {
private diContainer;
private app;
private baseUri;
private routeTable;
private enableTaskContext;
private useRouterCb;
constructor(config: IDinoContainerConfig);
resolve<T>(middleware: Function, dino: IDinoProperties): T;
routeNotFoundMiddleware(middleware: any): void;
builtInRequestStartMiddleware(middleware: any): void;
builtInRequestEndMiddleware(middleware: any): void;
builtInErrorMiddleware(middleware: any): void;
appStartMiddleware(middleware: Function): void;
requestStartMiddleware(middleware: Function): void;
requestEndMiddleware(middleware: Function): void;
registerErrorMiddleware(middleware: Function): void;
registerErrorController(type: Function): void;
setUpDinoController(type: any, actionAttr: IActionMethodAttribute, res: Response): DinoController;
populateControllerMiddlewares(obj: ApiController): IControllerAttributeProvider;
getActionMethodMetadata(httpAttribute: string, actionName: string, controller: ApiController): IActionMethodAttribute;
registerController(type: Function): void;
static create(config: IDinoContainerConfig): DinoContainer;
}