simple-jsrange
Version:
Simple range function for JavaScript
53 lines (43 loc) • 1.36 kB
JavaScript
;
var chars = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
var forwardCharRange = function forwardCharRange(start, end, options) {
var step = options.step,
inc = options.inc;
var res = [];
var startIdx = chars.indexOf(start);
var endIdx = chars.indexOf(end);
if (inc) {
for (var i = startIdx; i <= endIdx; i += step) {
res.push(chars[i]);
}
} else {
for (var _i = startIdx; _i < endIdx; _i += step) {
res.push(chars[_i]);
}
}
return res;
};
var reverseCharRange = function reverseCharRange(start, end, options) {
var step = options.step,
inc = options.inc;
var res = [];
var startIdx = chars.indexOf(start);
var endIdx = chars.indexOf(end);
if (inc) {
for (var i = startIdx; i >= endIdx; i -= step) {
res.push(chars[i]);
}
} else {
for (var _i2 = startIdx; _i2 > endIdx; _i2 -= step) {
res.push(chars[_i2]);
}
}
return res;
};
var charRange = function charRange(start, end, options) {
if (start < end) {
return forwardCharRange(start, end, options);
}
return reverseCharRange(start, end, options);
};
module.exports = { charRange: charRange };