UNPKG

routing-controllers

Version:

Create structured, declarative and beautifully organized class-based controllers with heavy decorators usage for Express / Koa using TypeScript.

37 lines (36 loc) 1.15 kB
import { Action } from './Action'; /** * Container options. */ export interface UseContainerOptions { /** * If set to true, then default container will be used in the case if given container haven't returned anything. */ fallback?: boolean; /** * If set to true, then default container will be used in the case if given container thrown an exception. */ fallbackOnErrors?: boolean; } export type ClassConstructor<T> = { new (...args: any[]): T; }; /** * Allows routing controllers to resolve objects using your IoC container */ export interface IocAdapter { /** * Return */ get<T>(someClass: ClassConstructor<T>, action?: Action): T; } /** * Sets container to be used by this library. */ export declare function useContainer(iocAdapter: IocAdapter, options?: UseContainerOptions): void; /** * Gets the IOC container used by this library. * @param someClass A class constructor to resolve * @param action The request/response context that `someClass` is being resolved for */ export declare function getFromContainer<T>(someClass: ClassConstructor<T> | Function, action?: Action): T;