@baizey/dependency-injection
Version:
A simple typescript dependency injection
15 lines (14 loc) • 677 B
TypeScript
import { ILifetime } from '../Lifetime';
import { ProviderMock } from './mockUtils';
import { DependencyMap, Selector } from './types';
import { Provider } from '../ServiceProvider';
export declare class ServiceCollection<E = {}> {
private readonly lifetimes;
constructor(dependencies: DependencyMap<E, E>);
get<T>(selector: Selector<T, E>): ILifetime<T, E> | undefined;
replace(dependencies: DependencyMap<Partial<E>, Partial<E>>): ServiceCollection<E>;
build(): Provider<E>;
buildDebug(): Provider<E>;
buildMock(mock?: ProviderMock<E>): Provider<E>;
}
export declare const services: <E>(dependencies: DependencyMap<E, E>) => ServiceCollection<E>;