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.

14 lines (13 loc) 533 B
import { hook } from './hook.js'; import { HooksRunner } from './HooksRunner.js'; export const onContainerDisposedHooksRunner = new HooksRunner('onContainerDisposed'); export const onContainerDisposed = (...fns) => hook('onContainerDisposed', ...fns); export class AddOnDisposeHookModule { applyTo(container) { container.addOnDisposeHook((scope) => { for (const instance of scope.getInstances()) { onContainerDisposedHooksRunner.execute(instance, { scope }); } }); } }