parent
676a5e88a5
commit
c9481e622d
38
server.js
38
server.js
|
@ -3314,7 +3314,7 @@ function omitv(version) {
|
||||||
|
|
||||||
// Take a version without the starting v.
|
// Take a version without the starting v.
|
||||||
// eg, '1.0.x-beta'
|
// eg, '1.0.x-beta'
|
||||||
// Return { numbers: '1.0.x', modifier: 2, modifierCount: 1 }
|
// Return { numbers: [1,0,something big], modifier: 2, modifierCount: 1 }
|
||||||
function phpNumberedVersionData(version) {
|
function phpNumberedVersionData(version) {
|
||||||
// A version has a numbered part and a modifier part
|
// A version has a numbered part and a modifier part
|
||||||
// (eg, 1.0.0-patch, 2.0.x-dev).
|
// (eg, 1.0.0-patch, 2.0.x-dev).
|
||||||
|
@ -3380,13 +3380,40 @@ function phpNumberedVersionData(version) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Try to convert to a list of numbers.
|
||||||
|
var toNum = function(s) {
|
||||||
|
var n = +s;
|
||||||
|
if (n !== n) { // If n is NaN…
|
||||||
|
n = 0xffffffff;
|
||||||
|
}
|
||||||
|
return n;
|
||||||
|
};
|
||||||
|
var numberList = numbered.split('.').map(toNum);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
numbers: numbered,
|
numbers: numberList,
|
||||||
modifier: modifierLevel,
|
modifier: modifierLevel,
|
||||||
modifierCount: modifierLevelCount,
|
modifierCount: modifierLevelCount,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function listCompare(a, b) {
|
||||||
|
for (var i = 0; i < a.length; i++) {
|
||||||
|
if (a[i] < b[i]) {
|
||||||
|
return -1;
|
||||||
|
} else if (a[i] > b[i]) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (a.length < b.length) {
|
||||||
|
return -1;
|
||||||
|
} else if (a.length > b.length) {
|
||||||
|
return 1;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Return a negative value if v1 < v2,
|
// Return a negative value if v1 < v2,
|
||||||
// zero if v1 = v2,
|
// zero if v1 = v2,
|
||||||
// a positive value otherwise.
|
// a positive value otherwise.
|
||||||
|
@ -3405,10 +3432,9 @@ function phpVersionCompare(v1, v2) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compare the numbered part (eg, 1.0.0 < 2.0.0).
|
// Compare the numbered part (eg, 1.0.0 < 2.0.0).
|
||||||
if (v1data.numbers < v2data.numbers) {
|
var numbersCompare = listCompare(v1data.numbers, v2data.numbers);
|
||||||
return -1;
|
if (numbersCompare !== 0) {
|
||||||
} else if (v1data.numbers > v2data.numbers) {
|
return numbersCompare;
|
||||||
return 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compare the modifiers (eg, alpha < beta).
|
// Compare the modifiers (eg, alpha < beta).
|
||||||
|
|
Loading…
Reference in New Issue
Block a user