basant307/AI_Governance_Project
048
1var baseClamp = require('./_baseClamp'),2 toNumber = require('./toNumber');3 4/**5 * Clamps `number` within the inclusive `lower` and `upper` bounds.6 *7 * @static8 * @memberOf _9 * @since 4.0.010 * @category Number11 * @param {number} number The number to clamp.12 * @param {number} [lower] The lower bound.13 * @param {number} upper The upper bound.14 * @returns {number} Returns the clamped number.15 * @example16 *17 * _.clamp(-10, -5, 5);18 * // => -519 *20 * _.clamp(10, -5, 5);21 * // => 522 */23function clamp(number, lower, upper) {24 if (upper === undefined) {25 upper = lower;26 lower = undefined;27 }28 if (upper !== undefined) {29 upper = toNumber(upper);30 upper = upper === upper ? upper : 0;31 }32 if (lower !== undefined) {33 lower = toNumber(lower);34 lower = lower === lower ? lower : 0;35 }36 return baseClamp(toNumber(number), lower, upper);37}38 39module.exports = clamp;40 