@eggjs/controller-decorator
Version:
tegg controller decorator
22 lines • 1.83 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ControllerValidator = void 0;
const tegg_metadata_1 = require("@eggjs/tegg-metadata");
const ControllerInfoUtil_1 = __importDefault(require("../ControllerInfoUtil"));
class ControllerValidator {
// should throw error
// 1. use controller middleware but not has controller decorator
static validate(clazz) {
const controllerType = ControllerInfoUtil_1.default.getControllerType(clazz);
const middlewares = ControllerInfoUtil_1.default.getControllerMiddlewares(clazz);
if (middlewares.length && !controllerType) {
const desc = tegg_metadata_1.ClassUtil.classDescription(clazz);
throw new Error(`${desc} @Middleware should use with controller decorator`);
}
}
}
exports.ControllerValidator = ControllerValidator;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJvbGxlclZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlsL3ZhbGlkYXRvci9Db250cm9sbGVyVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLHdEQUFpRDtBQUNqRCwrRUFBdUQ7QUFFdkQsTUFBYSxtQkFBbUI7SUFDOUIscUJBQXFCO0lBQ3JCLGdFQUFnRTtJQUNoRSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQXdCO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLDRCQUFrQixDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25FLE1BQU0sV0FBVyxHQUFHLDRCQUFrQixDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZFLElBQUksV0FBVyxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzFDLE1BQU0sSUFBSSxHQUFHLHlCQUFTLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksbURBQW1ELENBQUMsQ0FBQztRQUM5RSxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBWEQsa0RBV0MifQ==