oak-domain/lib/utils/version.js

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;