UNPKG

inversify

Version:

A powerful and lightweight inversion of control container for JavaScript and Node.js apps powered by TypeScript.

74 lines (73 loc) 4.62 kB
import { interfaces } from '../interfaces/interfaces'; declare class Container implements interfaces.Container { id: number; parent: interfaces.Container | null; readonly options: interfaces.ContainerOptions; private _middleware; private _bindingDictionary; private _activations; private _deactivations; private _snapshots; private _metadataReader; private _moduleActivationStore; static merge(container1: interfaces.Container, container2: interfaces.Container, ...containers: interfaces.Container[]): interfaces.Container; constructor(containerOptions?: interfaces.ContainerOptions); load(...modules: interfaces.ContainerModule[]): void; loadAsync(...modules: interfaces.AsyncContainerModule[]): Promise<void>; unload(...modules: interfaces.ContainerModuleBase[]): void; unloadAsync(...modules: interfaces.ContainerModuleBase[]): Promise<void>; bind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T>; rebind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T>; rebindAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): Promise<interfaces.BindingToSyntax<T>>; unbind(serviceIdentifier: interfaces.ServiceIdentifier): void; unbindAsync(serviceIdentifier: interfaces.ServiceIdentifier): Promise<void>; unbindAll(): void; unbindAllAsync(): Promise<void>; onActivation<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, onActivation: interfaces.BindingActivation<T>): void; onDeactivation<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, onDeactivation: interfaces.BindingDeactivation<T>): void; isBound(serviceIdentifier: interfaces.ServiceIdentifier<unknown>): boolean; isCurrentBound<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): boolean; isBoundNamed(serviceIdentifier: interfaces.ServiceIdentifier, named: string | number | symbol): boolean; isBoundTagged(serviceIdentifier: interfaces.ServiceIdentifier, key: string | number | symbol, value: unknown): boolean; snapshot(): void; restore(): void; createChild(containerOptions?: interfaces.ContainerOptions): Container; applyMiddleware(...middlewares: interfaces.Middleware[]): void; applyCustomMetadataReader(metadataReader: interfaces.MetadataReader): void; get<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): T; getAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): Promise<T>; getTagged<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T; getTaggedAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, key: string | number | symbol, value: unknown): Promise<T>; getNamed<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string | number | symbol): T; getNamedAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string | number | symbol): Promise<T>; getAll<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): T[]; getAllAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): Promise<T[]>; getAllTagged<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T[]; getAllTaggedAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, key: string | number | symbol, value: unknown): Promise<T[]>; getAllNamed<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string | number | symbol): T[]; getAllNamedAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string | number | symbol): Promise<T[]>; resolve<T>(constructorFunction: interfaces.Newable<T>): T; private _preDestroy; private _removeModuleHandlers; private _removeModuleBindings; private _deactivate; private _handleDeactivationError; private _deactivateContainer; private _deactivateContainerAsync; private _getContainerModuleHelpersFactory; private _getAll; private _get; private _getButThrowIfAsync; private _getAllArgs; private _getNotAllArgs; private _planAndResolve; private _deactivateIfSingleton; private _deactivateSingletons; private _deactivateSingletonsAsync; private _propagateContainerDeactivationThenBindingAndPreDestroy; private _propagateContainerDeactivationThenBindingAndPreDestroyAsync; private _removeServiceFromDictionary; private _bindingDeactivationAndPreDestroy; private _bindingDeactivationAndPreDestroyAsync; } export { Container };