Skip to main content
Module

x/ramda/range.js

:ram: Practical functional Javascript
Go to Latest
File
import _curry2 from './internal/_curry2';import _isNumber from './internal/_isNumber';

/** * 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;