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) 477 B
import { hook } from './hook'; import { HooksRunner } from './HooksRunner'; export const onDisposeHooksRunner = new HooksRunner('onDispose'); export const onDispose = (...fns) => hook('onDispose', ...fns); export class AddOnDisposeHookModule { applyTo(container) { container.addOnDisposeHook((scope) => { for (const instance of scope.getInstances()) { onDisposeHooksRunner.execute(instance, { scope }); } }); } }