32 lines
936 B
JavaScript
32 lines
936 B
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.isVersion = exports.compareVersion = void 0;
|
|
/**
|
|
* 版本比较
|
|
* @param curVersion 当前版本
|
|
* @param reqVersion 比较版本
|
|
* @returns
|
|
*/
|
|
function compareVersion(curVersion, reqVersion) {
|
|
const v1 = curVersion.split('.');
|
|
const v2 = reqVersion.split('.');
|
|
for (let i = 0; i < Math.max(v1.length, v2.length); i++) {
|
|
const num1 = i < v1.length ? parseInt(v1[i], 10) : 0;
|
|
const num2 = i < v2.length ? parseInt(v2[i], 10) : 0;
|
|
if (num1 !== num2)
|
|
return num1 - num2;
|
|
}
|
|
return 0;
|
|
}
|
|
exports.compareVersion = compareVersion;
|
|
;
|
|
/**
|
|
* 是不是一个有效的版本号
|
|
* @param version
|
|
* @returns
|
|
*/
|
|
function isVersion(version) {
|
|
return /([1-9][0-9]*|[0-9])\.([1-9][0-9]*|[0-9])*\.([1-9][0-9]*|[0-9])*(\-[0-9A-Za-z-](\.[0-9A-Za-z-])*)*/g.test(version);
|
|
}
|
|
exports.isVersion = isVersion;
|