'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRange = getRange; /** * Gets an aray with numbers from a start index until a final index (inclusively). * If the final index is smaller then the initial index the returned array will be in the reverse order (from start to end, as expected). * If only one argument is passed it will be used as the final index. * @name Harray#getRange * @method * @param {Number} [start] - The initial index. Defaults to 0. * @param {Number} [end] - The final index. Defaults to 0. * @returns rangeArray - An array of numbers from the initial index until the final index (inclusively). * @example * let harr = new Harray(0, 2); * let firstTenEvens = []; * harr.getRange(0, 9); * * console.log(firstTenEvens) // -> [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] */ function getRange(start, end) { start = typeof start === 'number' ? start : 0; end = typeof end === 'number' ? end : 0; if (arguments.length === 1) { end = start; start = 0; } var isReverse = false; if (start > end) { var tmp = start; start = end; end = tmp; isReverse = true; } var range = []; for (var i = start; i <= end; i++) { range.push(this.get(i)); } return isReverse ? range.reverse() : range; }