123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- /**
- * Validation error description.
- */
- var ValidationError = /** @class */ (function () {
- function ValidationError() {
- }
- /**
- *
- * @param shouldDecorate decorate the message with ANSI formatter escape codes for better readability
- * @param hasParent true when the error is a child of an another one
- * @param parentPath path as string to the parent of this property
- * @param showConstraintMessages show constraint messages instead of constraint names
- */
- ValidationError.prototype.toString = function (shouldDecorate, hasParent, parentPath, showConstraintMessages) {
- var _this = this;
- if (shouldDecorate === void 0) { shouldDecorate = false; }
- if (hasParent === void 0) { hasParent = false; }
- if (parentPath === void 0) { parentPath = ""; }
- if (showConstraintMessages === void 0) { showConstraintMessages = false; }
- var boldStart = shouldDecorate ? "\u001B[1m" : "";
- var boldEnd = shouldDecorate ? "\u001B[22m" : "";
- var constraintsToString = function () { var _a; return (showConstraintMessages ? Object.values : Object.keys)((_a = _this.constraints) !== null && _a !== void 0 ? _a : {}).join(", "); };
- var propConstraintFailed = function (propertyName) {
- return " - property ".concat(boldStart).concat(parentPath).concat(propertyName).concat(boldEnd, " has failed the following constraints: ").concat(boldStart).concat(constraintsToString()).concat(boldEnd, " \n");
- };
- if (!hasParent) {
- return ("An instance of ".concat(boldStart).concat(this.target ? this.target.constructor.name : 'an object').concat(boldEnd, " has failed the validation:\n") +
- (this.constraints ? propConstraintFailed(this.property) : "") +
- (this.children
- ? this.children
- .map(function (childError) { return childError.toString(shouldDecorate, true, _this.property, showConstraintMessages); })
- .join("")
- : ""));
- }
- else {
- // we format numbers as array indexes for better readability.
- var formattedProperty_1 = Number.isInteger(+this.property)
- ? "[".concat(this.property, "]")
- : "".concat(parentPath ? "." : "").concat(this.property);
- if (this.constraints) {
- return propConstraintFailed(formattedProperty_1);
- }
- else {
- return this.children
- ? this.children
- .map(function (childError) {
- return childError.toString(shouldDecorate, true, "".concat(parentPath).concat(formattedProperty_1), showConstraintMessages);
- })
- .join("")
- : "";
- }
- }
- };
- return ValidationError;
- }());
- export { ValidationError };
- //# sourceMappingURL=ValidationError.js.map
|