UNPKG

@azizbecha/strkit

Version:

strkit is a utility library offering a collection of essential string functions including validation, case conversion, truncation, and more. Ideal for both JavaScript and TypeScript developers to simplify string operations in their applications.

48 lines 1.92 kB
(function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = compareVersion; /** * compareVersion compares two version strings and returns: * 0 if both versions are equal, * 1 if v1 is greater than v2, * -1 if v2 is greater than v1. * * @param v1 The first version string (e.g., "1.2.3"). * @param v2 The second version string (e.g., "1.2.4"). * @returns 0 if both versions are equal, 1 if v1 > v2, -1 if v2 > v1. * @example * compareVersion("1.2.3", "1.2.4"); // returns -1 * compareVersion("1.2.3", "1.2.3"); // returns 0 * compareVersion("1.2.4", "1.2.3"); // returns 1 */ function compareVersion(v1, v2) { const v1Parts = v1.split('.').map(Number); // Split version into parts and convert to numbers. const v2Parts = v2.split('.').map(Number); // Do the same for v2. // Pad the shorter version with zeroes to make them the same length. const length = Math.max(v1Parts.length, v2Parts.length); while (v1Parts.length < length) v1Parts.push(0); while (v2Parts.length < length) v2Parts.push(0); // Compare each part. for (let i = 0; i < length; i++) { if (v1Parts[i] > v2Parts[i]) { return 1; // v1 is greater. } else if (v1Parts[i] < v2Parts[i]) { return -1; // v2 is greater. } } return 0; // Both versions are equal. } }); //# sourceMappingURL=compareVersion.js.map