Comparing version 1.1.1 to 2.0.0
@@ -1,3 +0,2 @@ | ||
'use strict'; | ||
/* eslint indent: 4 */ | ||
/* eslint indent: ["warn", 4] */ | ||
@@ -52,3 +51,2 @@ | ||
class DRange { | ||
@@ -68,8 +66,8 @@ constructor(a, b) { | ||
add(a, b) { | ||
var _add = (subrange) => { | ||
var i = 0; | ||
const _add = (subrange) => { | ||
let i = 0; | ||
while (i < this.ranges.length && !subrange.touches(this.ranges[i])) { | ||
i++; | ||
} | ||
var newRanges = this.ranges.slice(0, i); | ||
const newRanges = this.ranges.slice(0, i); | ||
while (i < this.ranges.length && subrange.touches(this.ranges[i])) { | ||
@@ -82,3 +80,3 @@ subrange = subrange.add(this.ranges[i]); | ||
this._update_length(); | ||
} | ||
}; | ||
@@ -95,8 +93,8 @@ if (a instanceof DRange) { | ||
subtract(a, b) { | ||
var _subtract = (subrange) => { | ||
var i = 0; | ||
const _subtract = (subrange) => { | ||
let i = 0; | ||
while (i < this.ranges.length && !subrange.overlaps(this.ranges[i])) { | ||
i++; | ||
} | ||
var newRanges = this.ranges.slice(0, i); | ||
let newRanges = this.ranges.slice(0, i); | ||
while (i < this.ranges.length && subrange.overlaps(this.ranges[i])) { | ||
@@ -120,5 +118,5 @@ newRanges = newRanges.concat(this.ranges[i].subtract(subrange)); | ||
intersect(a, b) { | ||
var newRanges = []; | ||
var _intersect = (subrange) => { | ||
var i = 0; | ||
const newRanges = []; | ||
const _intersect = (subrange) => { | ||
let i = 0; | ||
while (i < this.ranges.length && !subrange.overlaps(this.ranges[i])) { | ||
@@ -128,4 +126,4 @@ i++; | ||
while (i < this.ranges.length && subrange.overlaps(this.ranges[i])) { | ||
var low = Math.max(this.ranges[i].low, subrange.low); | ||
var high = Math.min(this.ranges[i].high, subrange.high); | ||
let low = Math.max(this.ranges[i].low, subrange.low); | ||
let high = Math.min(this.ranges[i].high, subrange.high); | ||
newRanges.push(new SubRange(low, high)); | ||
@@ -148,3 +146,3 @@ i++; | ||
index(index) { | ||
var i = 0; | ||
let i = 0; | ||
while (i < this.ranges.length && this.ranges[i].length <= index) { | ||
@@ -167,3 +165,3 @@ index -= this.ranges[i].length; | ||
return this.ranges.reduce((result, subrange) => { | ||
var i = subrange.low; | ||
let i = subrange.low; | ||
while (i <= subrange.high) { | ||
@@ -170,0 +168,0 @@ result.push(i); |
{ | ||
"name": "drange", | ||
"version": "1.1.1", | ||
"version": "2.0.0", | ||
"description": "For adding, subtracting, and indexing discontinuous ranges of numbers", | ||
@@ -32,3 +32,3 @@ "keywords": [ | ||
"engines": { | ||
"node": ">=4" | ||
"node": ">=6" | ||
}, | ||
@@ -35,0 +35,0 @@ "license": "MIT", |
@@ -14,7 +14,7 @@ # drange | ||
var allNums = new DRange(1, 100); //[ 1-100 ] | ||
var badNums = DRange(13).add(8).add(60,80); //[8, 13, 60-80] | ||
var goodNums = allNums.clone().subtract(badNums); | ||
let allNums = new DRange(1, 100); //[ 1-100 ] | ||
let badNums = DRange(13).add(8).add(60,80); //[8, 13, 60-80] | ||
let goodNums = allNums.clone().subtract(badNums); | ||
console.log(goodNums.toString()); //[ 1-7, 9-12, 14-59, 81-100 ] | ||
var randomGoodNum = goodNums.index(Math.floor(Math.random() * goodNums.length)); | ||
let randomGoodNum = goodNums.index(Math.floor(Math.random() * goodNums.length)); | ||
``` | ||
@@ -51,3 +51,3 @@ | ||
```js | ||
var drange = new DRange() | ||
let drange = new DRange() | ||
drange.add(1, 10); | ||
@@ -62,3 +62,3 @@ drange.add(21, 30); | ||
```js | ||
var drange = new DRange(1, 4) | ||
let drange = new DRange(1, 4) | ||
drange.add(6); | ||
@@ -73,3 +73,3 @@ drange.subtract(2); | ||
```js | ||
var drange = new DRange(1, 4) | ||
let drange = new DRange(1, 4) | ||
drange.add(6, 8); | ||
@@ -76,0 +76,0 @@ console.log(drange.subranges()); |
10453
217