@eggjs/controller-decorator
Version:
tegg controller decorator
39 lines • 3.71 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.HTTPController = HTTPController;
const core_decorator_1 = require("@eggjs/core-decorator");
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
const tegg_types_1 = require("@eggjs/tegg-types");
const ControllerInfoUtil_1 = __importDefault(require("../../util/ControllerInfoUtil"));
const HTTPInfoUtil_1 = __importDefault(require("../../util/HTTPInfoUtil"));
function HTTPController(param) {
return function (constructor) {
ControllerInfoUtil_1.default.setControllerType(constructor, tegg_types_1.ControllerType.HTTP);
if (param === null || param === void 0 ? void 0 : param.controllerName) {
ControllerInfoUtil_1.default.setControllerName(constructor, param.controllerName);
}
if (param === null || param === void 0 ? void 0 : param.timeout) {
ControllerInfoUtil_1.default.setControllerTimeout(param.timeout, constructor);
}
if (param === null || param === void 0 ? void 0 : param.path) {
HTTPInfoUtil_1.default.setHTTPPath(param.path, constructor);
}
// TODO elegant?
const func = (0, core_decorator_1.SingletonProto)({
accessLevel: tegg_types_1.AccessLevel.PUBLIC,
name: param === null || param === void 0 ? void 0 : param.protoName,
});
func(constructor);
// './tegg/core/common-util/src/StackUtil.ts',
// './tegg/core/core-decorator/src/decorator/Prototype.ts',
// './tegg/core/controller-decorator/src/decorator/http/HTTPController.ts',
// './tegg/core/core-decorator/node_modules/_reflect-metadata@0.1.13@reflect-metadata/Reflect.js',
// './tegg/core/core-decorator/node_modules/_reflect-metadata@0.1.13@reflect-metadata/Reflect.js',
// './tegg/core/controller-decorator/test/fixtures/TRFooController.ts',
core_decorator_1.PrototypeUtil.setFilePath(constructor, tegg_common_util_1.StackUtil.getCalleeFromStack(false, 5));
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUENvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVjb3JhdG9yL2h0dHAvSFRUUENvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFPQSx3Q0EyQkM7QUFsQ0QsMERBQXNFO0FBQ3RFLDhEQUFvRDtBQUVwRCxrREFBZ0U7QUFDaEUsdUZBQStEO0FBQy9ELDJFQUFtRDtBQUVuRCxTQUFnQixjQUFjLENBQUMsS0FBNEI7SUFDekQsT0FBTyxVQUFTLFdBQThCO1FBQzVDLDRCQUFrQixDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSwyQkFBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZFLElBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGNBQWMsRUFBRSxDQUFDO1lBQzFCLDRCQUFrQixDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUNELElBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ25CLDRCQUFrQixDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUNELElBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLElBQUksRUFBRSxDQUFDO1lBQ2hCLHNCQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUNELGdCQUFnQjtRQUNoQixNQUFNLElBQUksR0FBRyxJQUFBLCtCQUFjLEVBQUM7WUFDMUIsV0FBVyxFQUFFLHdCQUFXLENBQUMsTUFBTTtZQUMvQixJQUFJLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFNBQVM7U0FDdkIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWxCLDhDQUE4QztRQUM5QywyREFBMkQ7UUFDM0QsMkVBQTJFO1FBQzNFLGtHQUFrRztRQUNsRyxrR0FBa0c7UUFDbEcsdUVBQXVFO1FBQ3ZFLDhCQUFhLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSw0QkFBUyxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLENBQUMsQ0FBQztBQUNKLENBQUMifQ==