@inversifyjs/container
Version:
InversifyJs container
30 lines • 1.67 kB
TypeScript
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