mana-syringe
Version:
IoC library for mana, easily to use.
22 lines • 1.08 kB
TypeScript
import type { Syringe } from '../core';
import type { interfaces } from 'inversify';
import { ContainerModule } from 'inversify';
declare type TokenOrOption<T> = Syringe.Token<T> | Syringe.InjectOption<T>;
export declare class SyringeModule implements Syringe.Module {
/**
* @readonly
* module unique id
*/
readonly id: number;
readonly inversifyModule: ContainerModule;
protected baseRegistry?: Syringe.Registry;
protected optionCollection?: (Syringe.Token<any> | Syringe.InjectOption<any>)[];
constructor(registry?: Syringe.Registry);
protected inversifyRegister: (bind: interfaces.Bind, unbind: interfaces.Unbind, isBound: interfaces.IsBound, rebind: interfaces.Rebind) => void;
protected get options(): (Syringe.Token<any> | Syringe.InjectOption<any>)[];
register(...options: TokenOrOption<any>[]): this;
contribution(...tokens: Syringe.DefinedToken[]): this;
}
export declare function isSyringeModule(data: Syringe.Module): data is SyringeModule;
export {};
//# sourceMappingURL=syringe-module.d.ts.map