| var _curry1 = |
| /*#__PURE__*/ |
| require("./internal/_curry1"); |
| |
| var curryN = |
| /*#__PURE__*/ |
| require("./curryN"); |
| |
| var max = |
| /*#__PURE__*/ |
| require("./max"); |
| |
| var pluck = |
| /*#__PURE__*/ |
| require("./pluck"); |
| |
| var reduce = |
| /*#__PURE__*/ |
| require("./reduce"); |
| /** |
| * Takes a list of predicates and returns a predicate that returns true for a |
| * given list of arguments if at least one of the provided predicates is |
| * satisfied by those arguments. |
| * |
| * The function returned is a curried function whose arity matches that of the |
| * highest-arity predicate. |
| * |
| * @func |
| * @memberOf R |
| * @since v0.9.0 |
| * @category Logic |
| * @sig [(*... -> Boolean)] -> (*... -> Boolean) |
| * @param {Array} predicates An array of predicates to check |
| * @return {Function} The combined predicate |
| * @see R.allPass |
| * @example |
| * |
| * const isClub = R.propEq('suit', '♣'); |
| * const isSpade = R.propEq('suit', '♠'); |
| * const isBlackCard = R.anyPass([isClub, isSpade]); |
| * |
| * isBlackCard({rank: '10', suit: '♣'}); //=> true |
| * isBlackCard({rank: 'Q', suit: '♠'}); //=> true |
| * isBlackCard({rank: 'Q', suit: '♦'}); //=> false |
| */ |
| |
| |
| var anyPass = |
| /*#__PURE__*/ |
| _curry1(function anyPass(preds) { |
| return curryN(reduce(max, 0, pluck('length', preds)), function () { |
| var idx = 0; |
| var len = preds.length; |
| |
| while (idx < len) { |
| if (preds[idx].apply(this, arguments)) { |
| return true; |
| } |
| |
| idx += 1; |
| } |
| |
| return false; |
| }); |
| }); |
| |
| module.exports = anyPass; |