UNPKG

@lattice/core

Version:
19 lines (18 loc) 811 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var inversify_1 = require("inversify"); var _1 = require("."); var inject_1 = require("../../inject"); var utils_1 = require("../../utils"); exports.CONTROLLER_TOKEN = '__controller__'; function Controller(uri) { if (uri === void 0) { uri = ''; } return function (target) { var metaList = Reflect.getMetadata(_1.METHOD_META_LIST, target) || []; metaList.forEach(function (matcher) { return matcher.uri = utils_1.UriUtils.join(uri, matcher.uri); }); Reflect.defineMetadata(_1.METHOD_META_LIST, metaList, target); inject_1.controllerContainer.bind(exports.CONTROLLER_TOKEN).to(target).inSingletonScope(); return inversify_1.injectable()(target); }; } exports.Controller = Controller;