Files
lodash/overSome.js
2017-01-11 12:11:56 -08:00

34 lines
743 B
JavaScript

import apply from './.internal/apply.js';
import arraySome from './.internal/arraySome.js';
/**
* Creates a function that checks if **any** of the `predicates` return
* truthy when invoked with the arguments it receives.
*
* @since 4.0.0
* @category Util
* @param {Function[]} [predicates=[identity]]
* The predicates to check.
* @returns {Function} Returns the new function.
* @example
*
* const func = overSome([Boolean, isFinite]);
*
* func('1');
* // => true
*
* func(null);
* // => true
*
* func(NaN);
* // => false
*/
function overSome(iteratees) {
return function(...args) {
const thisArg = this;
return arraySome(iteratees, iteratee => apply(iteratee, thisArg, args));
};
}
export default overSome;