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.

16 lines (15 loc) 685 B
import { InjectionToken } from './InjectionToken'; import type { IContainer } from '../container/IContainer'; import { Instance } from '../utils/basic'; export type InstancePredicate = (dep: unknown) => boolean; export declare class GroupInstanceToken extends InjectionToken<Instance[]> { private predicate; private isCascade; constructor(predicate: InstancePredicate); select<R>(fn: (target: Instance) => R): (s: IContainer) => R[]; args(...deps: unknown[]): this; argsFn(getArgsFn: (s: IContainer) => unknown[]): InjectionToken<Instance[]>; lazy(): InjectionToken<Instance[]>; cascade(isTrue: boolean): this; resolve(c: IContainer): Instance[]; }