mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-01-31 15:27:50 +00:00
34 lines
750 B
JavaScript
34 lines
750 B
JavaScript
import apply from './.internal/apply.js';
|
|
import arrayEvery from './.internal/arrayEvery.js';
|
|
|
|
/**
|
|
* Creates a function that checks if **all** 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 = overEvery([Boolean, isFinite]);
|
|
*
|
|
* func('1');
|
|
* // => true
|
|
*
|
|
* func(null);
|
|
* // => false
|
|
*
|
|
* func(NaN);
|
|
* // => false
|
|
*/
|
|
function overEvery(iteratees) {
|
|
return function(...args) {
|
|
const thisArg = this;
|
|
return arrayEvery(iteratees, iteratee => apply(iteratee, thisArg, args));
|
|
};
|
|
}
|
|
|
|
export default overEvery;
|