| var _curry3 = |
| /*#__PURE__*/ |
| require("./internal/_curry3"); |
| |
| var curryN = |
| /*#__PURE__*/ |
| require("./curryN"); |
| /** |
| * Creates a function that will process either the `onTrue` or the `onFalse` |
| * function depending upon the result of the `condition` predicate. |
| * |
| * @func |
| * @memberOf R |
| * @since v0.8.0 |
| * @category Logic |
| * @sig (*... -> Boolean) -> (*... -> *) -> (*... -> *) -> (*... -> *) |
| * @param {Function} condition A predicate function |
| * @param {Function} onTrue A function to invoke when the `condition` evaluates to a truthy value. |
| * @param {Function} onFalse A function to invoke when the `condition` evaluates to a falsy value. |
| * @return {Function} A new function that will process either the `onTrue` or the `onFalse` |
| * function depending upon the result of the `condition` predicate. |
| * @see R.unless, R.when, R.cond |
| * @example |
| * |
| * const incCount = R.ifElse( |
| * R.has('count'), |
| * R.over(R.lensProp('count'), R.inc), |
| * R.assoc('count', 1) |
| * ); |
| * incCount({}); //=> { count: 1 } |
| * incCount({ count: 1 }); //=> { count: 2 } |
| */ |
| |
| |
| var ifElse = |
| /*#__PURE__*/ |
| _curry3(function ifElse(condition, onTrue, onFalse) { |
| return curryN(Math.max(condition.length, onTrue.length, onFalse.length), function _ifElse() { |
| return condition.apply(this, arguments) ? onTrue.apply(this, arguments) : onFalse.apply(this, arguments); |
| }); |
| }); |
| |
| module.exports = ifElse; |