container-ioc
Version:
Dependency Injection and Inversion of Control (IoC) container
14 lines (13 loc) • 570 B
TypeScript
import { IInjectionInstance, ProviderToken, RegistrationProvider, LifeTime } from './interfaces';
export interface IContainerOptions {
parent?: IContainer;
defaultLifeTime?: LifeTime;
}
export interface IContainer {
register(provider: RegistrationProvider | RegistrationProvider[]): void;
resolve(token: ProviderToken): IInjectionInstance;
resolveInternal(token: ProviderToken, container: IContainer, traceMessage?: string): IInjectionInstance;
createScope(): IContainer;
createChild(): IContainer;
setParent(parent: IContainer): void;
}