UNPKG

872 BJavaScriptView Raw
1import _curry2 from "./internal/_curry2.js";
2import _isNumber from "./internal/_isNumber.js";
3/**
4 * Returns a list of numbers from `from` (inclusive) to `to` (exclusive).
5 *
6 * @func
7 * @memberOf R
8 * @since v0.1.0
9 * @category List
10 * @sig Number -> Number -> [Number]
11 * @param {Number} from The first number in the list.
12 * @param {Number} to One more than the last number in the list.
13 * @return {Array} The list of numbers in the set `[a, b)`.
14 * @example
15 *
16 * R.range(1, 5); //=> [1, 2, 3, 4]
17 * R.range(50, 53); //=> [50, 51, 52]
18 */
19
20var range =
21/*#__PURE__*/
22_curry2(function range(from, to) {
23 if (!(_isNumber(from) && _isNumber(to))) {
24 throw new TypeError('Both arguments to range must be numbers');
25 }
26
27 var result = [];
28 var n = from;
29
30 while (n < to) {
31 result.push(n);
32 n += 1;
33 }
34
35 return result;
36});
37
38export default range;
\No newline at end of file