node-web-mvc
Version:
node spring mvc
32 lines (31 loc) • 1.18 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Target_1 = __importDefault(require("../../servlets/annotations/Target"));
const ElementType_1 = __importDefault(require("../../servlets/annotations/annotation/ElementType"));
const childValidations = Symbol('child_validations');
class Valid {
static getChildValidations(clazz) {
const empty = [];
if (!clazz)
return empty;
return (clazz[childValidations] || empty);
}
constructor(info) {
if (info.elementType !== ElementType_1.default.PROPERTY) {
return;
}
const ctor = info.ctor;
if (!ctor[childValidations]) {
ctor[childValidations] = [];
}
const validations = ctor[childValidations];
validations.push(info);
}
}
/**
* 标记一个属性或者方法参数为校验对象
*/
exports.default = (0, Target_1.default)([ElementType_1.default.METHOD, ElementType_1.default.PROPERTY, ElementType_1.default.PARAMETER])(Valid);