|
@@ -82,35 +82,35 @@ module.exports = {
|
|
|
* @param second {string}
|
|
|
* @return {number}
|
|
|
*/
|
|
|
- compareVersions: function(first, second){
|
|
|
+ compareVersions: function (first, second) {
|
|
|
if (!(typeof first === 'string' && typeof second === 'string')) {
|
|
|
return -1;
|
|
|
}
|
|
|
if (first === '' || second === '') {
|
|
|
return -1;
|
|
|
}
|
|
|
- var firstNumbers = first.split('.');
|
|
|
- var secondNumbers = second.split('.');
|
|
|
+ var firstNumbers = first.split(/[\.-]/);
|
|
|
+ var secondNumbers = second.split(/[\.-]/);
|
|
|
var length = 0;
|
|
|
var i = 0;
|
|
|
var result = false;
|
|
|
- if(firstNumbers.length === secondNumbers.length) {
|
|
|
+ if (firstNumbers.length === secondNumbers.length) {
|
|
|
length = firstNumbers.length;
|
|
|
- } else if(firstNumbers.length < secondNumbers.length){
|
|
|
+ } else if (firstNumbers.length < secondNumbers.length) {
|
|
|
length = secondNumbers.length;
|
|
|
} else {
|
|
|
length = firstNumbers.length;
|
|
|
}
|
|
|
|
|
|
- while(i < length && !result){
|
|
|
+ while (i < length && !result) {
|
|
|
firstNumbers[i] = (firstNumbers[i] === undefined) ? 0 : window.parseInt(firstNumbers[i]);
|
|
|
secondNumbers[i] = (secondNumbers[i] === undefined) ? 0 : window.parseInt(secondNumbers[i]);
|
|
|
- if(firstNumbers[i] > secondNumbers[i]){
|
|
|
+ if (firstNumbers[i] > secondNumbers[i]) {
|
|
|
result = 1;
|
|
|
break;
|
|
|
- } else if(firstNumbers[i] === secondNumbers[i]){
|
|
|
+ } else if (firstNumbers[i] === secondNumbers[i]) {
|
|
|
result = 0;
|
|
|
- } else if(firstNumbers[i] < secondNumbers[i]){
|
|
|
+ } else if (firstNumbers[i] < secondNumbers[i]) {
|
|
|
result = -1;
|
|
|
break;
|
|
|
}
|