mirror of
https://github.com/swc-project/swc.git
synced 2024-12-30 00:52:29 +03:00
35 lines
825 B
TypeScript
35 lines
825 B
TypeScript
|
// Loaded from https://deno.land/x/ramda@v0.27.2/source/minBy.js
|
||
|
|
||
|
|
||
|
import _curry3 from './internal/_curry3.js';
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 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 = _curry3(function minBy(f, a, b) {
|
||
|
return f(b) < f(a) ? b : a;
|
||
|
});
|
||
|
export default minBy;
|