forked from javascript-obfuscator/javascript-obfuscator
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathValidationErrorsFormatter.ts
More file actions
37 lines (29 loc) · 1.05 KB
/
ValidationErrorsFormatter.ts
File metadata and controls
37 lines (29 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { ValidationError } from 'class-validator';
export class ValidationErrorsFormatter {
/**
* @param {ValidationError[]} validationErrors
* @returns {string}
*/
public static format (validationErrors: ValidationError[]): string {
const errorsArray: string[] = [];
for (const error of validationErrors) {
errorsArray.push(ValidationErrorsFormatter.formatError(error));
}
return errorsArray.join('\n');
}
/**
* @param {ValidationError} validationError
* @returns {string}
*/
private static formatError (validationError: ValidationError): string {
const constraints: {[type: string]: string} = validationError.constraints;
let errorString: string = `\`${validationError.property}\` errors:\n`;
for (const constraint in constraints) {
if (!constraints.hasOwnProperty(constraint)) {
continue;
}
errorString += ` - ${constraints[constraint]}\n`;
}
return errorString;
}
}