You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					40 lines
				
				890 B
			
		
		
			
		
	
	
					40 lines
				
				890 B
			| 
											3 years ago
										 | 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; |