1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 | export const generateArgumentErrorMessage = (errors, isAny = false) => {
|
9 | const message = [];
|
10 | const errorArray = [...errors.entries()];
|
11 | const anyErrorWithoutOneItemOnly = errorArray.some(([, array]) => array.size !== 1);
|
12 |
|
13 | if (errorArray.length === 1) {
|
14 | const [, returnedErrors] = errorArray[0];
|
15 | if (!isAny && returnedErrors.size === 1) {
|
16 | const [errorMessage] = returnedErrors;
|
17 | return errorMessage;
|
18 | }
|
19 | for (const entry of returnedErrors) {
|
20 | message.push(`${isAny ? ' - ' : ''}${entry}`);
|
21 | }
|
22 | return message.join('\n');
|
23 | }
|
24 |
|
25 | if (!anyErrorWithoutOneItemOnly) {
|
26 | return errorArray.map(([, [item]]) => ` - ${item}`).join('\n');
|
27 | }
|
28 |
|
29 | for (const [key, value] of errorArray) {
|
30 | message.push(`Errors from the "${key}" predicate:`);
|
31 | for (const entry of value) {
|
32 | message.push(` - ${entry}`);
|
33 | }
|
34 | }
|
35 | return message.join('\n');
|
36 | };
|