| var baseClamp = require('./_baseClamp'), | |
|     toNumber = require('./toNumber'); | |
| 
 | |
| /** | |
|  * Clamps `number` within the inclusive `lower` and `upper` bounds. | |
|  * | |
|  * @static | |
|  * @memberOf _ | |
|  * @since 4.0.0 | |
|  * @category Number | |
|  * @param {number} number The number to clamp. | |
|  * @param {number} [lower] The lower bound. | |
|  * @param {number} upper The upper bound. | |
|  * @returns {number} Returns the clamped number. | |
|  * @example | |
|  * | |
|  * _.clamp(-10, -5, 5); | |
|  * // => -5 | |
|  * | |
|  * _.clamp(10, -5, 5); | |
|  * // => 5 | |
|  */ | |
| function clamp(number, lower, upper) { | |
|   if (upper === undefined) { | |
|     upper = lower; | |
|     lower = undefined; | |
|   } | |
|   if (upper !== undefined) { | |
|     upper = toNumber(upper); | |
|     upper = upper === upper ? upper : 0; | |
|   } | |
|   if (lower !== undefined) { | |
|     lower = toNumber(lower); | |
|     lower = lower === lower ? lower : 0; | |
|   } | |
|   return baseClamp(toNumber(number), lower, upper); | |
| } | |
| 
 | |
| module.exports = clamp;
 |