UNPKG

typedi

Version:

Dependency injection for TypeScript.

28 lines (27 loc) 1.02 kB
import { ContainerInstance } from '../container-instance.class'; import { Constructable } from '../types/constructable.type'; /** * Used to register special "handler" which will be executed on a service class during its initialization. * It can be used to create custom decorators and set/replace service class properties and constructor parameters. */ export interface Handler<T = unknown> { /** * Service object used to apply handler to. */ object: Constructable<T>; /** * Class property name to set/replace value of. * Used if handler is applied on a class property. */ propertyName?: string; /** * Parameter index to set/replace value of. * Used if handler is applied on a constructor parameter. */ index?: number; /** * Factory function that produces value that will be set to class property or constructor parameter. * Accepts container instance which requested the value. */ value: (container: ContainerInstance) => any; }