tsioc
Version:
tsioc is AOP, Ioc container, via typescript decorator
38 lines (37 loc) • 1.26 kB
TypeScript
import { IContainer } from './IContainer';
import { Type } from './types';
import { IContainerBuilder } from './IContainerBuilder';
import { IModuleLoader } from './IModuleLoader';
import { AsyncLoadOptions, LoadOptions } from './LoadOptions';
/**
* base container builder.
*
* @export
* @class ContainerBaseBuilder
* @implements {IContainerBuilder}
*/
export declare class ContainerBaseBuilder implements IContainerBuilder {
private loader;
constructor(loader?: IModuleLoader);
create(): IContainer;
/**
* build container.
*
* @param {AsyncLoadOptions} [options]
* @returns { Promise<IContainer>}
* @memberof ContainerBuilder
*/
build(options?: AsyncLoadOptions): Promise<IContainer>;
/**
* load modules for container.
*
* @param {IContainer} container
* @param {AsyncLoadOptions} options
* @returns {Promise<Type<any>[]>}
* @memberof ContainerBuilder
*/
loadModule(container: IContainer, options: AsyncLoadOptions): Promise<Type<any>[]>;
syncBuild(options: LoadOptions): IContainer;
snycLoadModule(container: IContainer, options: LoadOptions): Type<any>[];
protected registerModule(container: IContainer, regModule: Type<any> | object): Type<any>[];
}