UNPKG

@asuka/di

Version:
22 lines (21 loc) 942 B
import { Provider } from './type'; import { ReflectiveProvider } from './injector-provider'; import { InjectionProvider } from './provider'; export declare class Injector { protected readonly parent: Injector | null; readonly provider: InjectionProvider; protected readonly resolvedProviders: Map<ReflectiveProvider<unknown>, unknown>; protected readonly providersCache: Map<Provider<unknown>, 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 _getInstance; private _resolveByReflectiveProvider; private _findExisting; private _findDeps; private _checkDepenciesClean; }