UNPKG

579 BJavaScriptView Raw
1const SemVer = require('../classes/semver')
2const Range = require('../classes/range')
3
4const maxSatisfying = (versions, range, options) => {
5 let max = null
6 let maxSV = null
7 let rangeObj = null
8 try {
9 rangeObj = new Range(range, options)
10 } catch (er) {
11 return null
12 }
13 versions.forEach((v) => {
14 if (rangeObj.test(v)) {
15 // satisfies(v, range, options)
16 if (!max || maxSV.compare(v) === -1) {
17 // compare(max, v, true)
18 max = v
19 maxSV = new SemVer(max, options)
20 }
21 }
22 })
23 return max
24}
25module.exports = maxSatisfying