/*
* @Description: 版本号升级处理,修订号最高999,次版本号最高99
*@params: current 当前版本号字符串 如1.0.0
*@params: type 变更类型 1-变更主版本号 2-变更次版本号 3-变更修订号
*@Return: return 新版本号
*/
function versionUpdateHandler(current = '', type) {
if(!type) return current;
const versionArr = current.split('.');
if (!versionArr.length === 3) {
console.error(
'Functoin versionUpdateHandler needs a default versoin value like "X.Y.Z"'
);
return '';
}
let x = Number(versionArr[0]),
y = Number(versionArr[1]),
z = Number(versionArr[2]);
switch (type) {
case 1:
x++;
y = 0;
z = 0;
break;
case 2:
if(y===99){
return versionUpdateHandler(current,1)
}else{
y++;
}
z = 0;
break;
case 3:
if(z===999){
return versionUpdateHandler(current,2)
}else{
z++;
}
break;
default:
break;
}
return `${x}.${y}.${z}`;
}
console