UNPKG

ts-ioc-container

Version:

Fast, lightweight TypeScript dependency injection container with a clean API, scoped lifecycles, decorators, tokens, hooks, lazy injection, customizable providers, and no global container objects.

22 lines (21 loc) 1.02 kB
import { DependencyKey, IContainer } from '../container/IContainer'; import { InjectionToken } from './InjectionToken'; import { IRegistration } from '../registration/IRegistration'; import { BindToken } from './BindToken'; import { ArgsFn, ProviderOptions } from '../provider/IProvider'; export declare class GroupAliasToken<T = any> extends InjectionToken<T[]> implements BindToken<T> { readonly token: DependencyKey; private readonly _getArgsFn; private readonly _isLazy; constructor(token: DependencyKey, { getArgsFn, isLazy }?: { getArgsFn?: ArgsFn; isLazy?: boolean; }); select<R>(fn: (target: T[]) => R[]): (s: IContainer) => R[]; resolve(s: IContainer, { args, lazy }?: ProviderOptions): T[]; bindTo(r: IRegistration<T>): void; args(...newArgs: unknown[]): GroupAliasToken<T>; argsFn(fn: (s: IContainer) => unknown[]): GroupAliasToken<T>; lazy(): GroupAliasToken<T>; } export declare const toGroupAlias: <T>(token: DependencyKey) => GroupAliasToken<T>;