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) 714 B
import { type CreateHookContext, type IHookContext } from './HookContext'; import type { IContainer } from '../container/IContainer'; export type MapHookContext = (context: IHookContext) => IHookContext; export type HooksRunnerContext = { scope: IContainer; createContext?: CreateHookContext; mapContext?: MapHookContext; predicate?: (methodName: string) => boolean; }; export declare class HooksRunner { private readonly key; constructor(key: string | symbol); execute(target: object, { scope, createContext, mapContext, predicate, }: HooksRunnerContext): void; executeAsync(target: object, { scope, createContext, mapContext, predicate, }: HooksRunnerContext): Promise<void[]>; }