UNPKG

ts-ioc-container

Version:
19 lines (18 loc) 993 B
import { ScopeAccessOptions, ArgsFn, ScopeAccessFn, IProvider, ProviderResolveOptions, ResolveDependency } from './IProvider'; import type { DependencyKey, IContainer } from '../container/IContainer'; import type { 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; constructor(resolveDependency: ResolveDependency<T>); pipe(...mappers: (MapFn<IProvider<T>> | ProviderPipe<T>)[]): IProvider<T>; resolve(container: IContainer, { args, lazy: isLazy }: ProviderResolveOptions): T; setAccessPredicate(predicate: ScopeAccessFn): this; setArgs(argsFn: ArgsFn): this; hasAccess(options: ScopeAccessOptions): boolean; }