UNPKG

@sigi/di

Version:

Dependencies injection library for sigi framework

22 lines (21 loc) 939 B
import { ReflectiveProvider } from './injector-provider'; import { InjectionProvider } from './provider'; import { Provider } from './type'; export declare class Injector { protected readonly parent: Injector | null; readonly provider: InjectionProvider; protected readonly resolvedProviders: Map<ReflectiveProvider<unknown>, unknown>; protected readonly providersCache: Map<Provider, ReflectiveProvider<unknown>>; constructor(parent?: Injector | null); addProvider<T extends Provider<any>>(provider: T): T; addProviders(providers: Provider[]): this; getInstance<T>(provider: Provider<T>): T; resolveAndInstantiate<T>(provider: Provider<T>): T; createChild(providers: Provider<unknown>[]): Injector; private resolveReflectiveProvider; private getInstanceInternal; private resolveByReflectiveProvider; private findExisting; private findDeps; private checkDependenciesClean; }