UNPKG

@tucmc/hazel

Version:
54 lines (53 loc) 1.41 kB
"use strict"; 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;