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
TypeScript
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;