foop
Version:
interfaces that describe their intentions.
42 lines (40 loc) • 2.98 kB
JavaScript
var curry = require('../fp/curry')
/**
* @desc map all values in an array to see if **some** match, curried
* @memberOf conditional
* @since 4.0.1
*
* @param {Function} predicate match the value
* @param {Array | any} list values to match on the predicate
* @return {boolean} **some** match predicate
*
* @name some
* @alias any
* @func
*
* {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some mozilla-some}
* {@link https://github.com/jashkenas/underscore/blob/master/underscore.js#L273 underscore-some}
* @see {@link underscore-some}
* @see {@link mozilla-some}
*
* @example
*
* const someBoolean = some(x => typeof x === 'boolean'q)
*
* someBoolean([true])
* //=> true
*
* someBoolean([1])
* //=> false
*
* someBoolean([1, true])
* //=> true
*
*/
module.exports = curry(2, function some(test, list) {
for (var i in list) {
if (test(list[i])) { return true }
}
return false
})
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29tZS5qcyIsInNvdXJjZXMiOlsic29tZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjdXJyeSA9IHJlcXVpcmUoJy4uL2ZwL2N1cnJ5JylcblxuLyoqXG4gKiBAZGVzYyBtYXAgYWxsIHZhbHVlcyBpbiBhbiBhcnJheSB0byBzZWUgaWYgKipzb21lKiogbWF0Y2gsIGN1cnJpZWRcbiAqIEBtZW1iZXJPZiBjb25kaXRpb25hbFxuICogQHNpbmNlICA0LjAuMVxuICpcbiAqIEBwYXJhbSAge0Z1bmN0aW9ufSBwcmVkaWNhdGUgbWF0Y2ggdGhlIHZhbHVlXG4gKiBAcGFyYW0gIHtBcnJheSB8IGFueX0gbGlzdCB2YWx1ZXMgdG8gbWF0Y2ggb24gdGhlIHByZWRpY2F0ZVxuICogQHJldHVybiB7Ym9vbGVhbn0gKipzb21lKiogbWF0Y2ggcHJlZGljYXRlXG4gKlxuICogQG5hbWUgc29tZVxuICogQGFsaWFzIGFueVxuICogQGZ1bmNcbiAqXG4gKiB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvQXJyYXkvc29tZSBtb3ppbGxhLXNvbWV9XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2phc2hrZW5hcy91bmRlcnNjb3JlL2Jsb2IvbWFzdGVyL3VuZGVyc2NvcmUuanMjTDI3MyB1bmRlcnNjb3JlLXNvbWV9XG4gKiBAc2VlIHtAbGluayB1bmRlcnNjb3JlLXNvbWV9XG4gKiBAc2VlIHtAbGluayBtb3ppbGxhLXNvbWV9XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgICBjb25zdCBzb21lQm9vbGVhbiA9IHNvbWUoeCA9PiB0eXBlb2YgeCA9PT0gJ2Jvb2xlYW4ncSlcbiAqXG4gKiAgICBzb21lQm9vbGVhbihbdHJ1ZV0pXG4gKiAgICAvLz0+IHRydWVcbiAqXG4gKiAgICBzb21lQm9vbGVhbihbMV0pXG4gKiAgICAvLz0+IGZhbHNlXG4gKlxuICogICAgc29tZUJvb2xlYW4oWzEsIHRydWVdKVxuICogICAgLy89PiB0cnVlXG4gKlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGN1cnJ5KDIsIGZ1bmN0aW9uIHNvbWUodGVzdCwgbGlzdCkge1xuICBmb3IgKGxldCBpIGluIGxpc3QpIHtcbiAgICBpZiAodGVzdChsaXN0W2ldKSkgcmV0dXJuIHRydWVcbiAgfVxuICByZXR1cm4gZmFsc2Vcbn0pXG4iXSwibmFtZXMiOlsiY29uc3QiLCJsZXQiXSwibWFwcGluZ3MiOiJBQUFBQSxHQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrQ3BDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO0VBQ2xELEtBQUtDLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFO0lBQ2xCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUEsT0FBTyxJQUFJLEVBQUE7R0FDL0I7RUFDRCxPQUFPLEtBQUs7Q0FDYixDQUFDOyJ9