@decorators/di
Version:
node decorators - decorators for dependency injection
29 lines (28 loc) • 880 B
TypeScript
import { Provider, ContainerProvider, Injectable } from './types';
export declare class Container {
parentContainer?: Container;
providers: Map<Injectable, ContainerProvider>;
setParent(container: Container): void;
/**
* Registers new or replaces providers
*/
provide(providers: Provider[]): void;
/**
* Gets or instantiates an injectable
*/
get<T>(injectable: Injectable): Promise<T>;
/**
* Verifies that injectable is provided within the scope
*/
has(injectable: Injectable): boolean;
/**
* Resolves the provider, following deps are resolved recursively
*/
private resolve;
private registerMultiProviders;
private registerSingleProviders;
private registerClassProvider;
private registerFactoryProvider;
private registerValueProvider;
private registerExistingProvider;
}