@tucmc/hazel
Version:
Clubs Data Processing Framework
54 lines (53 loc) • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.compareWithOp = exports.parseVersion = exports.getVersionWeight = void 0;
const operators = ['=', '<', '>'];
const allowed = ['=', '==', '<=', '>='];
const getVersionWeight = (versionNumber) => {
const n = versionNumber.split('.');
let weight = 0;
n.forEach((e) => {
weight += parseInt(e);
});
return weight;
};
exports.getVersionWeight = getVersionWeight;
const parseVersion = (version) => {
const firstAr = version.charAt(0);
const secondAr = version.charAt(1);
let operator = '';
if (operators.includes(firstAr)) {
operator += firstAr;
}
if (operators.includes(secondAr)) {
operator += secondAr;
}
if (!allowed.includes(operator)) {
return null;
}
const versionNumber = version.replace(operator, '');
return {
op: operator,
number: versionNumber
};
};
exports.parseVersion = parseVersion;
const compareWithOp = (a, b, op) => {
switch (op) {
case '=':
return a === b;
case '==':
return a === b;
case '>=':
return a >= b;
case '<=':
return a <= b;
case '>':
return a > b;
case '<':
return a < b;
default:
return false;
}
};
exports.compareWithOp = compareWithOp;