Skip to content

Commit f8bc548

Browse files
authored
Merge pull request #134 from tjinauyeung/fix/empty-object-in-errors-when-field-is-array
2 parents 6519d92 + 11a1e79 commit f8bc548

File tree

3 files changed

+161
-95
lines changed

3 files changed

+161
-95
lines changed

.eslintrc.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
module.exports = {
22
root: true,
33

4+
ignorePatterns: ['test/**/*.js'],
5+
46
extends: ['eslint:recommended', 'plugin:unicorn/recommended', 'prettier'],
57

68
rules: {

lib/util.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,21 +46,23 @@ function getErrorsFromSchema(initialValues, schema, errors = {}) {
4646
errors[key] = getErrorsFromSchema(
4747
initialValues[key],
4848
schema[key].fields,
49-
Object.assign({}, errors[key]),
49+
{...errors[key]},
5050
);
5151
break;
5252
}
5353

5454
case schema[key].type === 'array': {
5555
const values =
5656
initialValues && initialValues[key] ? initialValues[key] : [];
57-
errors[key] = values.map((value) =>
58-
getErrorsFromSchema(
57+
errors[key] = values.map((value) => {
58+
const innerError = getErrorsFromSchema(
5959
value,
6060
schema[key].innerType.fields,
61-
Object.assign({}, errors[key]),
62-
),
63-
);
61+
{...errors[key]},
62+
);
63+
64+
return Object.keys(innerError).length > 0 ? innerError : '';
65+
});
6466
break;
6567
}
6668

0 commit comments

Comments
 (0)