You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
759 B
26 lines
759 B
var semver = require('semver');
|
|
|
|
function match(requests) {
|
|
var responses = [];
|
|
requests.forEach(function (request) {
|
|
var response = {};
|
|
response.packageName = request.packageName;
|
|
response.versionRange = request.versionRange;
|
|
response.version = request.version;
|
|
response.validVersion = !!semver.valid(request.version);
|
|
response.validVersionRange = !!semver.validRange(request.versionRange);
|
|
if (response.validVersion && response.validVersionRange) {
|
|
if (request.versionRange === '*') {
|
|
response.matched = true;
|
|
}
|
|
else {
|
|
response.matched = semver.satisfies(request.version, request.versionRange);
|
|
}
|
|
}
|
|
responses.push(response);
|
|
});
|
|
return responses;
|
|
}
|
|
|
|
exports.match = match;
|