UNPKG

@difizen/mana-syringe

Version:

29 lines 1.29 kB
import type { interfaces } from 'inversify'; import { ContainerModule } from 'inversify'; import type { Syringe } from '../core'; type TokenOrOption<T> = Syringe.Token<T> | Syringe.InjectOption<T>; export declare class SyringeModule<T = Syringe.Module> implements Syringe.Module { protected dependencies: T[]; /** * @readonly * module unique id */ readonly id: number; protected moduleName?: string | undefined; readonly inversifyModule: ContainerModule; protected optionCollection?: (Syringe.Token<any> | Syringe.InjectOption<any>)[]; get name(): string | undefined; constructor(name?: string); protected inversifyRegister: (bind: interfaces.Bind, unbind: interfaces.Unbind, isBound: interfaces.IsBound, rebind: interfaces.Rebind) => void; protected get options(): (Syringe.InjectOption<any> | Syringe.Token<any>)[]; register(...options: TokenOrOption<any>[]): this; contribution(...tokens: Syringe.DefinedToken[]): this; dependOn(...modules: T[]): this; toLoader(): SyringeModuleLoader<T>; } export interface SyringeModuleLoader<T = Syringe.Module> { dependencies?: T[]; } export declare function isSyringeModule(data: Syringe.Module): data is SyringeModule; export {}; //# sourceMappingURL=syringe-module.d.ts.map