@baizey/dependency-injection
Version:
A simple typescript dependency injection
14 lines (13 loc) • 772 B
TypeScript
import { DependencyFactory, DependencyInformation, FactoryOption, Key, NormalConstructor } from '../ServiceCollection';
import { ILifetime } from './ILifetime';
import { ScopeContext, Provider } from '../ServiceProvider';
export declare class TransientLifetime<T, E> implements ILifetime<T, E> {
readonly factory: DependencyFactory<T, void, E>;
readonly name: Key<E>;
readonly isSingleton = false;
constructor(name: Key<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 function transient<T, E>(dep: FactoryOption<T, void, E> | NormalConstructor<T, E>): DependencyInformation<T, E>;