UNPKG

foop

Version:

interfaces that describe their intentions.

26 lines (24 loc) 680 B
const and = require('../conditional/and') const all = require('../conditional/all') const isArray = require('./array') /** * @desc every item in an array matches predicate * @since 4.0.0 was in validatorBuilder * @version 5.0.0 * * @memberOf is * @param {Function} predicate test to pass on every item in an array * @return {boolean} all match predicate * * @example * * isArrayOf(isTrue)([true, true]) //=> true * isArrayOf(isEmpty)(['']) //=> true * * isArrayOf(isBoolean)([true, false, 1, 2, 0]) //=> false * isArrayOf(isString)(['string', Number]) //=> false * */ module.exports = function isArrayOf(predicate) { return and(isArray, all(predicate)) }