From 4bacbfa82c902b226884a38d04745fed76ab1859 Mon Sep 17 00:00:00 2001 From: Rodrigo Fernandes Date: Sun, 16 Jul 2017 00:30:03 +0100 Subject: [PATCH] Make exposed apis more clear --- README.md | 2 -- semver.js | 24 +++++++----------------- test/index.js | 24 ------------------------ 3 files changed, 7 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 300066f3..a83f726b 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/semver.js b/semver.js index 63d48164..b55e1d46 100644 --- a/semver.js +++ b/semver.js @@ -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) { @@ -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); + }); + }); }); }); }; diff --git a/test/index.js b/test/index.js index cabfda0c..6bb35814 100644 --- a/test/index.js +++ b/test/index.js @@ -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],