container-ioc
Version:
Dependency Injection and Inversion of Control (IoC) container
27 lines (26 loc) • 1.19 kB
TypeScript
import { IInjectionInstance, ProviderToken, RegistrationProvider } from './interfaces';
import { IContainer, IContainerOptions } from './container.interface';
export declare class Container implements IContainer {
private static DEFAULT_LIFE_TIME;
private registry;
private parent;
private defaultLifeTime;
constructor(options?: IContainerOptions);
register(provider: RegistrationProvider | RegistrationProvider[]): void;
resolve(token: ProviderToken): IInjectionInstance;
createScope(): IContainer;
createChild(): IContainer;
setParent(parent: IContainer): void;
resolveInternal(token: ProviderToken, container: IContainer, traceMessage?: string): IInjectionInstance;
private registerAll(providers);
private registerOne(provider);
private convertTokensToInjectionMd(tokens);
private instantiateWithFactory(factory, container, traceMessage);
private normalizeProvider(provider);
private normalizeSingleProvider(provider);
private buildTraceMessage(token, message);
private getTokenString(token);
private symbol2string(symbol);
private isInjectable(cls);
private retrieveInjectionsFromClass(cls);
}