Security update for Core, with self-updated composer
[yaffs-website] / node_modules / grunt-legacy-util / node_modules / lodash / inRange.js
1 var baseInRange = require('./_baseInRange'),
2     toNumber = require('./toNumber');
3
4 /**
5  * Checks if `n` is between `start` and up to but not including, `end`. If
6  * `end` is not specified it's set to `start` with `start` then set to `0`.
7  * If `start` is greater than `end` the params are swapped to support
8  * negative ranges.
9  *
10  * @static
11  * @memberOf _
12  * @category Number
13  * @param {number} number The number to check.
14  * @param {number} [start=0] The start of the range.
15  * @param {number} end The end of the range.
16  * @returns {boolean} Returns `true` if `number` is in the range, else `false`.
17  * @example
18  *
19  * _.inRange(3, 2, 4);
20  * // => true
21  *
22  * _.inRange(4, 8);
23  * // => true
24  *
25  * _.inRange(4, 2);
26  * // => false
27  *
28  * _.inRange(2, 2);
29  * // => false
30  *
31  * _.inRange(1.2, 2);
32  * // => true
33  *
34  * _.inRange(5.2, 4);
35  * // => false
36  *
37  * _.inRange(-3, -2, -6);
38  * // => true
39  */
40 function inRange(number, start, end) {
41   start = toNumber(start) || 0;
42   if (end === undefined) {
43     end = start;
44     start = 0;
45   } else {
46     end = toNumber(end) || 0;
47   }
48   number = toNumber(number);
49   return baseInRange(number, start, end);
50 }
51
52 module.exports = inRange;