summaryrefslogtreecommitdiff
path: root/src/node_modules/inversify/lib/annotation/injectable.js
blob: f1e4f739aa21a23483b08a725f61044da95d3ae2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var ERRORS_MSGS = require("../constants/error_msgs");
var METADATA_KEY = require("../constants/metadata_keys");
function injectable() {
    return function (target) {
        if (Reflect.hasOwnMetadata(METADATA_KEY.PARAM_TYPES, target)) {
            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;
    };
}
exports.injectable = injectable;