action-debian-package/node_modules/ramda/es/clamp.js

33 lines
942 B
JavaScript
Raw Normal View History

2020-03-26 14:37:35 +00:00
import _curry3 from "./internal/_curry3.js";
/**
* Restricts a number to be within a range.
*
* Also works for other ordered types such as Strings and Dates.
*
* @func
* @memberOf R
* @since v0.20.0
* @category Relation
* @sig Ord a => a -> a -> a -> a
* @param {Number} minimum The lower limit of the clamp (inclusive)
* @param {Number} maximum The upper limit of the clamp (inclusive)
* @param {Number} value Value to be clamped
* @return {Number} Returns `minimum` when `val < minimum`, `maximum` when `val > maximum`, returns `val` otherwise
* @example
*
* R.clamp(1, 10, -5) // => 1
* R.clamp(1, 10, 15) // => 10
* R.clamp(1, 10, 4) // => 4
*/
var clamp =
/*#__PURE__*/
_curry3(function clamp(min, max, value) {
if (min > max) {
throw new Error('min must not be greater than max in clamp(min, max, value)');
}
return value < min ? min : value > max ? max : value;
});
export default clamp;