UNPKG

node-web-mvc

Version:
32 lines (31 loc) 1.18 kB
"use strict"; 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);