@eggjs/controller-decorator
Version:
tegg controller decorator
32 lines • 2.59 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Host = Host;
const node_assert_1 = __importDefault(require("node:assert"));
const ControllerInfoUtil_1 = __importDefault(require("../../util/ControllerInfoUtil"));
const MethodInfoUtil_1 = __importDefault(require("../../util/MethodInfoUtil"));
function Host(host) {
function parseHost() {
return Array.isArray(host) ? host : [host];
}
function classHost(constructor) {
ControllerInfoUtil_1.default.addControllerHosts(parseHost(), constructor);
}
function methodHost(target, propertyKey) {
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
const controllerClazz = target.constructor;
const methodName = propertyKey;
MethodInfoUtil_1.default.setMethodHosts(parseHost(), controllerClazz, methodName);
}
return function (target, propertyKey) {
if (propertyKey === undefined) {
classHost(target);
}
else {
methodHost(target, propertyKey);
}
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSG9zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZWNvcmF0b3IvaHR0cC9Ib3N0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBS0Esb0JBeUJDO0FBOUJELDhEQUFpQztBQUVqQyx1RkFBK0Q7QUFDL0QsK0VBQXVEO0FBRXZELFNBQWdCLElBQUksQ0FBQyxJQUFjO0lBRWpDLFNBQVMsU0FBUztRQUNoQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsU0FBUyxTQUFTLENBQUMsV0FBOEI7UUFDL0MsNEJBQWtCLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFNBQVMsVUFBVSxDQUFDLE1BQVcsRUFBRSxXQUF3QjtRQUN2RCxJQUFBLHFCQUFNLEVBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxFQUNwQyxlQUFlLE1BQU0sQ0FBQyxJQUFJLHFEQUFxRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hHLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxXQUFnQyxDQUFDO1FBQ2hFLE1BQU0sVUFBVSxHQUFHLFdBQXFCLENBQUM7UUFDekMsd0JBQWMsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxPQUFPLFVBQVMsTUFBVyxFQUFFLFdBQXlCO1FBQ3BELElBQUksV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzlCLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQixDQUFDO2FBQU0sQ0FBQztZQUNOLFVBQVUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUMsQ0FBQztBQUNKLENBQUMifQ==