UNPKG

@inversifyjs/container

Version:

InversifyJs container

30 lines 1.67 kB
import { ServiceIdentifier } from '@inversifyjs/common'; import { BindingActivation, BindingDeactivation } from '@inversifyjs/core'; import { BindToFluentSyntax } from '../../binding/models/BindingFluentSyntax'; import { BindingIdentifier } from '../../binding/models/BindingIdentifier'; import { IsBoundOptions } from './isBoundOptions'; export type Bind = <T>(serviceIdentifier: ServiceIdentifier<T>) => BindToFluentSyntax<T>; export type IsBound = (serviceIdentifier: ServiceIdentifier, options?: IsBoundOptions) => boolean; export type OnActivation = <T>(serviceIdentifier: ServiceIdentifier<T>, activation: BindingActivation<T>) => void; export type OnDeactivation = <T>(serviceIdentifier: ServiceIdentifier<T>, deactivation: BindingDeactivation<T>) => void; export type Rebind = <T>(serviceIdentifier: ServiceIdentifier<T>) => Promise<BindToFluentSyntax<T>>; export type RebindSync = <T>(serviceIdentifier: ServiceIdentifier<T>) => BindToFluentSyntax<T>; export type Unbind = (identifier: BindingIdentifier | ServiceIdentifier) => Promise<void>; export type UnbindSync = (identifier: BindingIdentifier | ServiceIdentifier) => void; export interface ContainerModuleLoadOptions { bind: Bind; isBound: IsBound; onActivation: OnActivation; onDeactivation: OnDeactivation; rebind: Rebind; rebindSync: RebindSync; unbind: Unbind; unbindSync: UnbindSync; } export declare class ContainerModule { #private; constructor(load: (options: ContainerModuleLoadOptions) => void | Promise<void>); get id(): number; load(options: ContainerModuleLoadOptions): void | Promise<void>; } //# sourceMappingURL=ContainerModule.d.ts.map