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
TypeScript
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[]>;
}