@baizey/dependency-injection
Version:
A simple typescript dependency injection
16 lines (15 loc) • 695 B
TypeScript
import { ServiceCollection } from './ServiceCollection';
import { DependencyFactory } from './types';
import { Provider } from '../ServiceProvider';
type PartialNested<T> = {
[key in keyof T]?: T[key] extends object ? PartialNested<T[key]> : T[key];
};
type PropertyMock<T> = {
[key in keyof T]?: PartialNested<T[key]> | null | (() => null);
};
type DependencyMock<E, K extends keyof E> = Partial<PropertyMock<E[K]>> | DependencyFactory<Partial<PropertyMock<E[K]>>, any, E>;
export type ProviderMock<E> = {
[key in keyof E]?: DependencyMock<E, key>;
};
export declare function proxyLifetimes<E>(services: ServiceCollection<E>, providerMock: ProviderMock<E>): Provider<E>;
export {};