Skip to content

Commit

Permalink
Make exposed apis more clear
Browse files Browse the repository at this point in the history
  • Loading branch information
rtfpessoa authored and isaacs committed Jul 24, 2017
1 parent 8b86a26 commit 4bacbfa
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 43 deletions.
2 changes: 0 additions & 2 deletions README.md
Expand Up @@ -331,8 +331,6 @@ strings that they parse.

### Comparators
* `intersects(comparator)`: Return true if the comparators intersect
* `satisfiesRange(range)`: Return true if the comparator intersects with any
of the range's comparators

### Ranges

Expand Down
24 changes: 7 additions & 17 deletions semver.js
Expand Up @@ -743,20 +743,6 @@ Comparator.prototype.intersects = function(comp, loose) {
oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
};

Comparator.prototype.satisfiesRange = function(range, loose) {
if (!(range instanceof Range)) {
throw new TypeError('a Range is required');
}

var comp = this;

return range.set.some(function(comparators) {
return comparators.every(function(comparator) {
return comp.intersects(comparator, loose);
});
});
};


exports.Range = Range;
function Range(range, loose) {
Expand Down Expand Up @@ -841,9 +827,13 @@ Range.prototype.intersects = function(range, loose) {
throw new TypeError('a Range is required');
}

return this.set.some(function(comparators) {
return comparators.every(function(comparator) {
return comparator.satisfiesRange(range, loose);
return this.set.some(function(thisComparators) {
return thisComparators.every(function(thisComparator) {
return range.set.some(function(rangeComparators) {
return rangeComparators.every(function(rangeComparator) {
return thisComparator.intersects(rangeComparator, loose);
});
});
});
});
};
Expand Down
24 changes: 0 additions & 24 deletions test/index.js
Expand Up @@ -765,30 +765,6 @@ test('\nmissing comparator parameter in intersect comparators', function(t) {
t.end();
});

test('\ncomparator satisfies range', function(t) {
[
['1.3.0', '1.3.0 || <1.0.0 >2.0.0', true],
['1.3.0', '<1.0.0 >2.0.0', false],
['>=1.3.0', '<1.3.0', false],
['<1.3.0', '>=1.3.0', false]
].forEach(function(v) {
var comparator = new Comparator(v[0]);
var range = new Range(v[1]);
var expect = v[2];
var actual = comparator.satisfiesRange(range);
t.equal(actual, expect);
});
t.end();
});

test('\nmissing range parameter in comparator satisfies range', function(t) {
t.throws(function() {
new Comparator('>1.0.0').satisfiesRange();
}, new TypeError('a Range is required'),
'throws type error');
t.end();
});

test('\nranges intersect', function(t) {
[
['1.3.0 || <1.0.0 >2.0.0', '1.3.0 || <1.0.0 >2.0.0', true],
Expand Down

0 comments on commit 4bacbfa

Please sign in to comment.