Acme.BookStore.HttpApi.Host/node_modules/sver-compat/convert-range.js
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
var nodeSemver = require('semver');
var sver = require('./sver');
var Semver = sver.Semver;
var SemverRange = sver.SemverRange;
var forOf = require('es6-iterator/for-of');
module.exports = function nodeRangeToSemverRange (range) {
var parsed = nodeSemver.validRange(range);
// tag version
if (!parsed)
return new SemverRange(range);
if (parsed === '*')
return new SemverRange(parsed);
try {
var semverRange = new SemverRange(range);
if (!semverRange.version.tag)
return semverRange;
}
catch (e) {
if (e.code !== 'ENOTSEMVER')
throw e;
}
var outRange;
forOf(parsed.split('||'), function(union) {
// compute the intersection into a lowest upper bound and a highest lower bound
var upperBound, lowerBound, upperEq, lowerEq;
forOf(union.split(' '), function(intersection, doBreak) {
var lt = intersection[0] === '<';
var gt = intersection[0] === '>';
if (!lt && !gt) {
upperBound = intersection;
upperEq = true;
return doBreak();
}
var eq = intersection[1] === '=';
if (!gt) {
var version = new Semver(intersection.substr(1 + eq));
if (!upperBound || upperBound.gt(version)) {
upperBound = version;
upperEq = eq;
}
}
else if (!lt) {
var eq = intersection[1] === '=';
var version = new Semver(intersection.substr(1 + eq));
if (!lowerBound || lowerBound.lt(version)) {
lowerBound = version;
lowerEq = eq;
}
}
});
// if the lower bound is greater than the upper bound then just return the lower bound exactly
if (lowerBound && upperBound && lowerBound.gt(upperBound)) {
var curRange = new SemverRange(lowerBound.toString());
后面还有 72 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
