import curry2 from "../function/curry2"; import reduceWhile from "../list/reduceWhile"; import identity from "../function/identity"; /** * Checks if all functions pass (return a truthy value). * The list of arguments will be applied to each function in turn (`func(...args)`). * * @see anyPass * @param {function[]} functions * @param {any[]} args * @returns {boolean} */ const allPass = (funcs, args) => reduceWhile( identity, (acc, current) => acc && !!current(...args), true, funcs ); export default curry2(allPass);