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) 860 B
import { HookClass, HookFn } from './hook'; import type { IContainer, IContainerModule } from '../container/IContainer'; import { constructor, Instance } from '../utils/basic'; import { HooksRunner } from './HooksRunner'; import type { ExecutionContext } from '../ExecutionContext'; 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; }