@difizen/mana-syringe
Version:
37 lines • 1.98 kB
TypeScript
import type { Disposable } from '@difizen/mana-common';
import { DisposableCollection, Emitter } from '@difizen/mana-common';
import type { interfaces } from 'inversify';
import { Syringe } from './core';
import type { InversifyContext } from './inversify-api/inversify-protocol';
export declare const ContainerMeta: unique symbol;
export declare class Container implements Syringe.Container, InversifyContext, Disposable {
disposed?: boolean | undefined;
protected toDisposeOnParentChange: DisposableCollection;
protected onModuleChangedEmitter: Emitter<void>;
get onModuleChanged(): import("@difizen/mana-common").Event<void>;
protected onRegisteredEmitter: Emitter<void>;
get onRegistered(): import("@difizen/mana-common").Event<void>;
protected _parent?: Container | undefined;
get parent(): Container | undefined;
set parent(p: Container | undefined);
static config(option: Syringe.InjectOption<void>): void;
protected loadedModules: number[];
container: interfaces.Container;
constructor(inversifyContainer?: interfaces.Container);
dispose(): void;
load(module: Syringe.Module, force?: boolean, deep?: boolean): void;
unload(module: Syringe.Module): void;
remove<T>(token: Syringe.Token<T>): void;
get<T>(token: Syringe.Token<T>): T;
getNamed<T>(token: Syringe.Token<T>, named: Syringe.Named): T;
getAll<T>(token: Syringe.Token<T>): T[];
getAllNamed<T>(token: Syringe.Token<T>, named: Syringe.Named): T[];
isBound<T>(token: Syringe.Token<T>): boolean;
isBoundNamed<T>(token: Syringe.Token<T>, named: Syringe.Named): boolean;
createChild(): Syringe.Container;
register<T = any>(tokenOrOption: Syringe.Token<T> | Syringe.InjectOption<T>): void;
register<T = any>(token: Syringe.Token<T>, options: Syringe.InjectOption<T>): void;
}
export declare const GlobalContainer: Container;
export declare const register: Syringe.Register;
//# sourceMappingURL=container.d.ts.map