stardust
Advanced tools
Comparing version 0.42.0 to 0.42.1
@@ -32,18 +32,2 @@ 'use strict'; | ||
var _find2 = require('lodash/find'); | ||
var _find3 = _interopRequireDefault(_find2); | ||
var _isNull2 = require('lodash/isNull'); | ||
var _isNull3 = _interopRequireDefault(_isNull2); | ||
var _overSome2 = require('lodash/overSome'); | ||
var _overSome3 = _interopRequireDefault(_overSome2); | ||
var _some2 = require('lodash/some'); | ||
var _some3 = _interopRequireDefault(_some2); | ||
var _isFunction2 = require('lodash/isFunction'); | ||
@@ -182,3 +166,3 @@ | ||
var errors = (0, _map3.default)(validators, function (validator) { | ||
var errors = (0, _compact3.default)((0, _map3.default)(validators, function (validator) { | ||
if (!(0, _isFunction3.default)(validator)) { | ||
@@ -188,9 +172,11 @@ throw new Error('any() argument "validators" should contain functions, found: ' + type(validator) + '.'); | ||
return validator.apply(undefined, [props, propName, componentName].concat(rest)); | ||
}); | ||
})); | ||
// if no validator passed return the first error found | ||
if (!(0, _some3.default)(errors, (0, _overSome3.default)(_isNull3.default, _isUndefined3.default))) { | ||
return (0, _find3.default)(errors, function (error) { | ||
return !(0, _isUndefined3.default)(error); | ||
}); | ||
// fail only if all validators failed | ||
if (errors.length === validators.length) { | ||
var error = new Error('One of these validators must pass:'); | ||
error.message += '\n' + (0, _map3.default)(errors, function (err, i) { | ||
return '[' + (i + 1) + ']: ' + err.message; | ||
}).join('\n'); | ||
return error; | ||
} | ||
@@ -197,0 +183,0 @@ }; |
{ | ||
"name": "stardust", | ||
"version": "0.42.0", | ||
"version": "0.42.1", | ||
"description": "The official Semantic-UI-React integration.", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -102,3 +102,3 @@ import { Children } from 'react' | ||
const errors = _.map(validators, validator => { | ||
const errors = _.compact(_.map(validators, validator => { | ||
if (!_.isFunction(validator)) { | ||
@@ -110,7 +110,9 @@ throw new Error( | ||
return validator(props, propName, componentName, ...rest) | ||
}) | ||
})) | ||
// if no validator passed return the first error found | ||
if (!_.some(errors, _.overSome(_.isNull, _.isUndefined))) { | ||
return _.find(errors, error => !_.isUndefined(error)) | ||
// fail only if all validators failed | ||
if (errors.length === validators.length) { | ||
const error = new Error('One of these validators must pass:') | ||
error.message += '\n' + _.map(errors, (err, i) => (`[${i + 1}]: ${err.message}`)).join('\n') | ||
return error | ||
} | ||
@@ -117,0 +119,0 @@ } |
806681
17978