Learn more  » Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

skava / exotic   js

Repository URL to install this package:

Version: 2.0.8 

/ src / types / array / check / isArrayOf.ts

import { and, all } from '../../../deps'
import isArray from './isArray'

/**
 * @desc every item in an array matches predicate
 * @since 4.0.0 was in validatorBuilder
 * @version 5.0.0
 *
 * @memberOf is
 * @param  predicate test to pass on every item in an array
 * @return all match predicate
 *
 * @curried 2
 *
 * @example
 *
 *  isArrayOf(isTrue)([true, true]) //=> true
 *  isArrayOf(isEmpty)(['']) //=> true
 *
 *  isArrayOf(isBoolean)([true, false, 1, 2, 0]) //=> false
 *  isArrayOf(isString)(['string', Number]) //=> false
 *
 */
export interface IsArrayOfPredicate extends Function {
  (value: any, key?: any): boolean
}
function isArrayOf(predicate: IsArrayOfPredicate): boolean {
  return and(isArray, all(predicate))
}

export { isArrayOf }
export default isArrayOf