UNPKG

inversify

Version:

A powerful and lightweight inversion of control container for JavaScript and Node.js apps powered by TypeScript.

14 lines (13 loc) 556 B
import * as METADATA_KEY from "../constants/metadata_keys"; import * as ERRORS_MSGS from "../constants/error_msgs"; function injectable() { return function (target) { if (Reflect.hasOwnMetadata(METADATA_KEY.PARAM_TYPES, target) === true) { throw new Error(ERRORS_MSGS.DUPLICATED_INJECTABLE_DECORATOR); } var types = Reflect.getMetadata(METADATA_KEY.DESIGN_PARAM_TYPES, target) || []; Reflect.defineMetadata(METADATA_KEY.PARAM_TYPES, types, target); return target; }; } export default injectable;