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.

15 lines (14 loc) 875 B
import { HookClass, HookFn } from './hook.js'; import type { IContainer, IContainerModule } from '../container/IContainer.js'; import { constructor, Instance } from '../utils/basic.js'; import { HooksRunner } from './HooksRunner.js'; import type { ExecutionContext } from '../ExecutionContext.js'; export declare const onConstructHooksRunner: HooksRunner; export declare const onConstruct: (...fns: (HookFn | constructor<HookClass>)[]) => (target: object, propertyKey: string | symbol) => void; export type OnConstructHook = (instance: Instance, scope: IContainer) => void; export type OnExceptionHandler = (ex: unknown, context: ExecutionContext) => void; export declare class AddOnConstructHookModule implements IContainerModule { private readonly onException?; constructor(onException?: OnExceptionHandler | undefined); applyTo(container: IContainer): void; }