foop
Version:
interfaces that describe their intentions.
27 lines (25 loc) • 2.2 kB
JavaScript
var and = require('../conditional/and')
var all = require('../conditional/all')
var 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))
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlPZi5qcyIsInNvdXJjZXMiOlsiYXJyYXlPZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBhbmQgPSByZXF1aXJlKCcuLi9jb25kaXRpb25hbC9hbmQnKVxuY29uc3QgYWxsID0gcmVxdWlyZSgnLi4vY29uZGl0aW9uYWwvYWxsJylcbmNvbnN0IGlzQXJyYXkgPSByZXF1aXJlKCcuL2FycmF5JylcblxuLyoqXG4gKiBAZGVzYyBldmVyeSBpdGVtIGluIGFuIGFycmF5IG1hdGNoZXMgcHJlZGljYXRlXG4gKiBAc2luY2UgNC4wLjAgd2FzIGluIHZhbGlkYXRvckJ1aWxkZXJcbiAqIEB2ZXJzaW9uIDUuMC4wXG4gKlxuICogQG1lbWJlck9mIGlzXG4gKiBAcGFyYW0gIHtGdW5jdGlvbn0gcHJlZGljYXRlIHRlc3QgdG8gcGFzcyBvbiBldmVyeSBpdGVtIGluIGFuIGFycmF5XG4gKiBAcmV0dXJuIHtib29sZWFufSBhbGwgbWF0Y2ggcHJlZGljYXRlXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgaXNBcnJheU9mKGlzVHJ1ZSkoW3RydWUsIHRydWVdKSAvLz0+IHRydWVcbiAqICBpc0FycmF5T2YoaXNFbXB0eSkoWycnXSkgLy89PiB0cnVlXG4gKlxuICogIGlzQXJyYXlPZihpc0Jvb2xlYW4pKFt0cnVlLCBmYWxzZSwgMSwgMiwgMF0pIC8vPT4gZmFsc2VcbiAqICBpc0FycmF5T2YoaXNTdHJpbmcpKFsnc3RyaW5nJywgTnVtYmVyXSkgLy89PiBmYWxzZVxuICpcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBpc0FycmF5T2YocHJlZGljYXRlKSB7XG4gIHJldHVybiBhbmQoaXNBcnJheSwgYWxsKHByZWRpY2F0ZSkpXG59XG4iXSwibmFtZXMiOlsiY29uc3QiXSwibWFwcGluZ3MiOiJBQUFBQSxHQUFLLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztBQUN6Q0EsR0FBSyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUM7QUFDekNBLEdBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQmxDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUyxTQUFTLENBQUMsU0FBUyxFQUFFO0VBQzdDLE9BQU8sR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7Q0FDcEM7In0=