00001 var baseRange = require('./_baseRange'),
00002 isIterateeCall = require('./_isIterateeCall'),
00003 toFinite = require('./toFinite');
00004
00012 function createRange(fromRight) {
00013 return function(start, end, step) {
00014 if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {
00015 end = step = undefined;
00016 }
00017
00018 start = toFinite(start);
00019 if (end === undefined) {
00020 end = start;
00021 start = 0;
00022 } else {
00023 end = toFinite(end);
00024 }
00025 step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);
00026 return baseRange(start, end, step, fromRight);
00027 };
00028 }
00029
00030 module.exports = createRange;