var _curry3 = /*#__PURE__*/require('./internal/_curry3'); /** * Takes a function and two values, and returns whichever value produces the * smaller result when passed to the provided function. * * @func * @memberOf R * @since v0.8.0 * @category Relation * @sig Ord b => (a -> b) -> a -> a -> a * @param {Function} f * @param {*} a * @param {*} b * @return {*} * @see R.min, R.maxBy * @example * * // square :: Number -> Number * const square = n => n * n; * * R.minBy(square, -3, 2); //=> 2 * * R.reduce(R.minBy(square), Infinity, [3, -5, 4, 1, -2]); //=> 1 * R.reduce(R.minBy(square), Infinity, []); //=> Infinity */ var minBy = /*#__PURE__*/_curry3(function minBy(f, a, b) { return f(b) < f(a) ? b : a; }); module.exports = minBy;