CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
utils.js37 linesDownload Raw Back to esm
1export const semver = /^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i;2export const validateAndParse = (version) => {3    if (typeof version !== 'string') {4        throw new TypeError('Invalid argument expected string');5    }6    const match = version.match(semver);7    if (!match) {8        throw new Error(`Invalid argument not valid semver ('${version}' received)`);9    }10    match.shift();11    return match;12};13const isWildcard = (s) => s === '*' || s === 'x' || s === 'X';14const tryParse = (v) => {15    const n = parseInt(v, 10);16    return isNaN(n) ? v : n;17};18const forceType = (a, b) => typeof a !== typeof b ? [String(a), String(b)] : [a, b];19const compareStrings = (a, b) => {20    if (isWildcard(a) || isWildcard(b))21        return 0;22    const [ap, bp] = forceType(tryParse(a), tryParse(b));23    if (ap > bp)24        return 1;25    if (ap < bp)26        return -1;27    return 0;28};29export const compareSegments = (a, b) => {30    for (let i = 0; i < Math.max(a.length, b.length); i++) {31        const r = compareStrings(a[i] || '0', b[i] || '0');32        if (r !== 0)33            return r;34    }35    return 0;36};37//# sourceMappingURL=utils.js.map
basant307/AI_Governance_Project · CoolFace