UNPKG

@baizey/dependency-injection

Version:
14 lines (13 loc) 855 B
import { DependencyFactory, DependencyInformation, FactoryOption, Key, NormalConstructor } from '../ServiceCollection'; import { ILifetime } from './ILifetime'; import { ScopeContext, Provider } from '../ServiceProvider'; export declare class SingletonLifetime<T, E> implements ILifetime<T, E> { readonly factory: DependencyFactory<T, void, E>; readonly name: Key<E>; readonly isSingleton = true; constructor(name: Key<E>, factory: DependencyFactory<T, void, E>); provide(provider: Provider<E>, context: ScopeContext<E>): Partial<{ [key in keyof E]: any; }>[Key<E>]; validate(provider: Provider<E>, context: ScopeContext<E>): Partial<{ [key in keyof E]: any; }>[Key<E>]; clone(): ILifetime<T, E>; } export declare function singleton<T, E>(dep: FactoryOption<T, void, E> | NormalConstructor<T, E>): DependencyInformation<T, E>;