UNPKG

class-validator-multi-lang

Version:
58 lines 2.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ValidationUtils = exports.constraintToString = void 0; const multi_lang_1 = require("../multi-lang"); /** * Convert the constraint to a string to be shown in an error */ function constraintToString(constraint) { if (Array.isArray(constraint)) { return constraint.join(', '); } if (typeof constraint === 'symbol') { constraint = constraint.description; } return `${constraint}`; } exports.constraintToString = constraintToString; class ValidationUtils { static replaceMessageSpecialTokens(message, validationArguments, titles) { const checkTitle = Object.keys(titles).length > 0; let messageString = ''; if (message instanceof Function) { messageString = message(validationArguments); } else if (typeof message === 'string') { messageString = message; } if (messageString && Array.isArray(validationArguments.constraints)) { validationArguments.constraints.forEach((constraint, index) => { messageString = messageString.replace(new RegExp(`\\$constraint${index + 1}`, 'g'), (checkTitle && titles[(0, multi_lang_1.getClassValidatorTitle)(validationArguments.object, constraintToString(constraint)) || constraintToString(constraint)]) || constraintToString(constraint)); }); } if (messageString && validationArguments.value !== undefined && validationArguments.value !== null && typeof validationArguments.value === 'string') messageString = messageString.replace(/\$value/g, (checkTitle && titles[(0, multi_lang_1.getClassValidatorTitle)(validationArguments.object, validationArguments.value) || validationArguments.value]) || validationArguments.value); if (messageString) { messageString = messageString.replace(/\$property/g, (checkTitle && titles[(0, multi_lang_1.getClassValidatorPropertyTitle)(validationArguments.object, validationArguments.property) || validationArguments.property]) || validationArguments.property); } if (messageString) { messageString = messageString.replace(/\$target/g, (checkTitle && titles[(0, multi_lang_1.getClassValidatorTitle)(validationArguments.object, '') || validationArguments.targetName]) || validationArguments.targetName); } return messageString; } } exports.ValidationUtils = ValidationUtils; //# sourceMappingURL=ValidationUtils.js.map