UNPKG

tsioc

Version:

tsioc is AOP, Ioc container, via typescript decorator

53 lines (52 loc) 1.44 kB
import { IContainer } from './IContainer'; import { Type } from './types'; import { AsyncLoadOptions, LoadOptions } from './LoadOptions'; /** * container builder. * * @export * @interface IContainerBuilder */ export interface IContainerBuilder { /** * create a new container. * * @returns {IContainer} * @memberof IContainerBuilder */ create(): IContainer; /** * create a new container and load module via options. * * @param {AsyncLoadOptions} [options] * @returns {Promise<IContainer>} * @memberof IContainerBuilder */ build(options?: AsyncLoadOptions): Promise<IContainer>; /** * build container in sync. * * @param {LoadOptions} options * @returns {IContainer} * @memberof IContainerBuilder */ syncBuild(options: LoadOptions): IContainer; /** * load modules for container. * * @param {IContainer} container * @param {AsyncLoadOptions} options * @returns {Promise<Type<any>[]>} * @memberof IContainerBuilder */ loadModule(container: IContainer, options: AsyncLoadOptions): Promise<Type<any>[]>; /** * sync load module for container. * * @param {IContainer} container * @param {LoadOptions} options * @returns {Type<any>[]} * @memberof IContainerBuilder */ snycLoadModule(container: IContainer, options: LoadOptions): Type<any>[]; }