mirror of
https://github.com/swc-project/swc.git
synced 2024-12-25 06:36:08 +03:00
37 lines
923 B
TypeScript
37 lines
923 B
TypeScript
|
// Loaded from https://deno.land/x/ramda@v0.27.2/source/range.js
|
||
|
|
||
|
|
||
|
import _curry2 from './internal/_curry2.js';
|
||
|
import _isNumber from './internal/_isNumber.js';
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Returns a list of numbers from `from` (inclusive) to `to` (exclusive).
|
||
|
*
|
||
|
* @func
|
||
|
* @memberOf R
|
||
|
* @since v0.1.0
|
||
|
* @category List
|
||
|
* @sig Number -> Number -> [Number]
|
||
|
* @param {Number} from The first number in the list.
|
||
|
* @param {Number} to One more than the last number in the list.
|
||
|
* @return {Array} The list of numbers in the set `[a, b)`.
|
||
|
* @example
|
||
|
*
|
||
|
* R.range(1, 5); //=> [1, 2, 3, 4]
|
||
|
* R.range(50, 53); //=> [50, 51, 52]
|
||
|
*/
|
||
|
var range = _curry2(function range(from, to) {
|
||
|
if (!(_isNumber(from) && _isNumber(to))) {
|
||
|
throw new TypeError('Both arguments to range must be numbers');
|
||
|
}
|
||
|
var result = [];
|
||
|
var n = from;
|
||
|
while (n < to) {
|
||
|
result.push(n);
|
||
|
n += 1;
|
||
|
}
|
||
|
return result;
|
||
|
});
|
||
|
export default range;
|