| var baseInRange = require('./_baseInRange'), |
| toFinite = require('./toFinite'), |
| toNumber = require('./toNumber'); |
| |
| /** |
| * Checks if `n` is between `start` and up to, but not including, `end`. If |
| * `end` is not specified, it's set to `start` with `start` then set to `0`. |
| * If `start` is greater than `end` the params are swapped to support |
| * negative ranges. |
| * |
| * @static |
| * @memberOf _ |
| * @since 3.3.0 |
| * @category Number |
| * @param {number} number The number to check. |
| * @param {number} [start=0] The start of the range. |
| * @param {number} end The end of the range. |
| * @returns {boolean} Returns `true` if `number` is in the range, else `false`. |
| * @see _.range, _.rangeRight |
| * @example |
| * |
| * _.inRange(3, 2, 4); |
| * // => true |
| * |
| * _.inRange(4, 8); |
| * // => true |
| * |
| * _.inRange(4, 2); |
| * // => false |
| * |
| * _.inRange(2, 2); |
| * // => false |
| * |
| * _.inRange(1.2, 2); |
| * // => true |
| * |
| * _.inRange(5.2, 4); |
| * // => false |
| * |
| * _.inRange(-3, -2, -6); |
| * // => true |
| */ |
| function inRange(number, start, end) { |
| start = toFinite(start); |
| if (end === undefined) { |
| end = start; |
| start = 0; |
| } else { |
| end = toFinite(end); |
| } |
| number = toNumber(number); |
| return baseInRange(number, start, end); |
| } |
| |
| module.exports = inRange; |