Files
lodash/overEvery.js
John-David Dalton 6cb3460fce Remove semicolons.
2017-02-05 22:22:04 -08:00

34 lines
740 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