UNPKG

@miracledevs/paradigm-web-di

Version:

A minimal dependency injection library for the web

21 lines (20 loc) 1.16 kB
import { ObjectType } from "./object-type"; import { DependencyLifeTime } from "./dependency-life-time"; import { DependencyDescriptor } from "./dependency-descriptor"; import { DependencyContainer } from "./dependency-container"; export declare class DependencyCollection { private static _globalCollection; static get globalCollection(): DependencyCollection; private readonly _registeredTypes; constructor(); register<T = any>(objectType: ObjectType<T>, lifeTime: DependencyLifeTime, dependencies?: ObjectType[], instance?: T): void; registerTransient<T = any>(objectType: ObjectType<T>, dependencies?: ObjectType[]): void; registerScoped<T = any>(objectType: ObjectType<T>, dependencies?: ObjectType[]): void; registerSingleton<T = any>(objectType: ObjectType<T>, dependencies?: ObjectType[], instance?: T): void; get(objectType: ObjectType): DependencyDescriptor; contains(objectType: ObjectType): boolean; buildContainer(validate?: boolean): DependencyContainer; private validateDependencyRegistration; private validateCircularDependency; private validateScopedOnSingletons; }