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.

17 lines (16 loc) 759 B
import { type CreateHookContext, type IHookContext } from './HookContext.js'; import type { IContainer } from '../container/IContainer.js'; 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); hasHooks(target: object): boolean; execute(target: object, { scope, createContext, mapContext, predicate, }: HooksRunnerContext): void; executeAsync(target: object, { scope, createContext, mapContext, predicate, }: HooksRunnerContext): Promise<void[]>; }