inversify
Version:
A powerful and lightweight inversion of control container for JavaScript and Node.js apps powered by TypeScript.
16 lines (15 loc) • 632 B
JavaScript
;
var METADATA_KEY = require("../constants/metadata_keys");
var ERRORS_MSGS = require("../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;
};
}
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = injectable;