summaryrefslogtreecommitdiff
path: root/src/node_modules/class-validator/esm5/validation/ValidationError.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/node_modules/class-validator/esm5/validation/ValidationError.js')
-rw-r--r--src/node_modules/class-validator/esm5/validation/ValidationError.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/node_modules/class-validator/esm5/validation/ValidationError.js b/src/node_modules/class-validator/esm5/validation/ValidationError.js
new file mode 100644
index 0000000..78d230b
--- /dev/null
+++ b/src/node_modules/class-validator/esm5/validation/ValidationError.js
@@ -0,0 +1,45 @@
+/**
+ * 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
+ */
+ ValidationError.prototype.toString = function (shouldDecorate, hasParent, parentPath) {
+ var _this = this;
+ if (shouldDecorate === void 0) { shouldDecorate = false; }
+ if (hasParent === void 0) { hasParent = false; }
+ if (parentPath === void 0) { parentPath = ""; }
+ var boldStart = shouldDecorate ? "\u001B[1m" : "";
+ var boldEnd = shouldDecorate ? "\u001B[22m" : "";
+ var propConstraintFailed = function (propertyName) { return " - property " + boldStart + parentPath + propertyName + boldEnd + " has failed the following constraints: " + boldStart + Object.keys(_this.constraints).join(", ") + boldEnd + " \n"; };
+ if (!hasParent) {
+ return "An instance of " + boldStart + (this.target ? this.target.constructor.name : "an object") + boldEnd + " has failed the validation:\n" +
+ (this.constraints ? propConstraintFailed(this.property) : "") +
+ this.children
+ .map(function (childError) { return childError.toString(shouldDecorate, true, _this.property); })
+ .join("");
+ }
+ else {
+ // we format numbers as array indexes for better readability.
+ var formattedProperty_1 = Number.isInteger(+this.property) ? "[" + this.property + "]" : "" + (parentPath ? "." : "") + this.property;
+ if (this.constraints) {
+ return propConstraintFailed(formattedProperty_1);
+ }
+ else {
+ return this.children
+ .map(function (childError) { return childError.toString(shouldDecorate, true, "" + parentPath + formattedProperty_1); })
+ .join("");
+ }
+ }
+ };
+ return ValidationError;
+}());
+export { ValidationError };
+
+//# sourceMappingURL=ValidationError.js.map