123456789101112131415161718192021222324252627282930313233 |
- 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;
|