UNPKG

@baizey/dependency-injection

Version:
17 lines (16 loc) 639 B
import { DependencyFactory, Key } from '../ServiceCollection'; import { Provider, ScopeContext } from '../ServiceProvider'; export interface DependencyInfo<E = any> { readonly name: Key<E>; readonly isSingleton: boolean; } export interface ILifetime<T, E> extends DependencyInfo<E> { factory: DependencyFactory<T, void, E>; provide(provider: Provider<E>, context: ScopeContext<E>): T; validate(provider: Provider<E>, context: ScopeContext<E>): T; clone(): ILifetime<T, E>; } export declare class Lifetime { private constructor(); static dummy(name: Key<any>, isSingleton?: boolean): ILifetime<null, any>; }