(range, loose)
| 6689 | |
| 6690 | exports.minVersion = minVersion |
| 6691 | function minVersion (range, loose) { |
| 6692 | range = new Range(range, loose) |
| 6693 | |
| 6694 | var minver = new SemVer('0.0.0') |
| 6695 | if (range.test(minver)) { |
| 6696 | return minver |
| 6697 | } |
| 6698 | |
| 6699 | minver = new SemVer('0.0.0-0') |
| 6700 | if (range.test(minver)) { |
| 6701 | return minver |
| 6702 | } |
| 6703 | |
| 6704 | minver = null |
| 6705 | for (var i = 0; i < range.set.length; ++i) { |
| 6706 | var comparators = range.set[i] |
| 6707 | |
| 6708 | comparators.forEach(function (comparator) { |
| 6709 | // Clone to avoid manipulating the comparator's semver object. |
| 6710 | var compver = new SemVer(comparator.semver.version) |
| 6711 | switch (comparator.operator) { |
| 6712 | case '>': |
| 6713 | if (compver.prerelease.length === 0) { |
| 6714 | compver.patch++ |
| 6715 | } else { |
| 6716 | compver.prerelease.push(0) |
| 6717 | } |
| 6718 | compver.raw = compver.format() |
| 6719 | /* fallthrough */ |
| 6720 | case '': |
| 6721 | case '>=': |
| 6722 | if (!minver || gt(minver, compver)) { |
| 6723 | minver = compver |
| 6724 | } |
| 6725 | break |
| 6726 | case '<': |
| 6727 | case '<=': |
| 6728 | /* Ignore maximum versions */ |
| 6729 | break |
| 6730 | /* istanbul ignore next */ |
| 6731 | default: |
| 6732 | throw new Error('Unexpected operation: ' + comparator.operator) |
| 6733 | } |
| 6734 | }) |
| 6735 | } |
| 6736 | |
| 6737 | if (minver && range.test(minver)) { |
| 6738 | return minver |
| 6739 | } |
| 6740 | |
| 6741 | return null |
| 6742 | } |
| 6743 | |
| 6744 | exports.validRange = validRange |
| 6745 | function validRange (range, options) { |
nothing calls this directly
no test coverage detected
searching dependent graphs…