2 Object.defineProperty(exports, "__esModule", { value: true });
3 exports.parseVersion = exports.compareVersions = exports.isValidVersion = void 0;
4 const versionExp = /^v?(\d+)\.(\d+).(\d+)$/;
5 function isValidVersion(version) {
6 return Boolean(version.trim().match(versionExp));
8 exports.isValidVersion = isValidVersion;
9 function compareVersions(version1, version2) {
10 const v1 = parseVersion(version1);
11 const v2 = parseVersion(version2);
12 for (let i = 0; i < 3; i++) {
13 if (v1[i] !== v2[i]) {
14 return Math.max(-1, Math.min(1, v1[i] - v2[i]));
19 exports.compareVersions = compareVersions;
20 function parseVersion(v) {
22 const match = v.trim().match(versionExp);
24 const [, major, minor, patch] = match;
25 ver = [parseInt(major), parseInt(minor), parseInt(patch)];
27 if (!isValidVersion(v)) {
28 throw new Error(`'${v}' is not a valid version`);
32 exports.parseVersion = parseVersion;
33 //# sourceMappingURL=versions.js.map