UNPKG

ts-ioc-container

Version:
21 lines (20 loc) 1 kB
import { ArgsFn, IProvider, ProviderOptions, ResolveDependency, ScopeAccessFn, ScopeAccessOptions } from './IProvider'; import type { DependencyKey, IContainer } from '../container/IContainer'; import { constructor, MapFn } from '../utils'; import type { ProviderPipe } from './ProviderPipe'; export declare class Provider<T = any> implements IProvider<T> { private readonly resolveDependency; static fromClass<T>(Target: constructor<T>): IProvider<T>; static fromValue<T>(value: T): IProvider<T>; static fromKey<T>(key: DependencyKey): Provider<T>; private argsFn; private checkAccess; private isLazy; constructor(resolveDependency: ResolveDependency<T>); pipe(...mappers: (MapFn<IProvider<T>> | ProviderPipe<T>)[]): IProvider<T>; resolve(container: IContainer, { args, lazy }?: ProviderOptions): T; setAccessPredicate(predicate: ScopeAccessFn): this; lazy(): this; setArgs(argsFn: ArgsFn): this; hasAccess(options: ScopeAccessOptions): boolean; }