/
Zertmark
/
site_for_practice
Обзор
Документация
Войти
/
Zertmark
/
site_for_practice
Код
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/semver/functions/cmp.js
52 строки
947 B
zertmark
Github Pages setup
23 апр 2025, 15:06
23 апр 2025, 15:06
93ee661
Код
Авторство
О чём код?
const eq = require('./eq') const neq = require('./neq') const gt = require('./gt') const gte = require('./gte') const lt = require('./lt') const lte = require('./lte') const cmp = (a, op, b, loose) => { switch (op) { case '===': if (typeof a === 'object') { a = a.version } if (typeof b === 'object') { b = b.version } return a === b case '!==': if (typeof a === 'object') { a = a.version } if (typeof b === 'object') { b = b.version } return a !== b case '': case '=': case '==': return eq(a, b, loose) case '!=': return neq(a, b, loose) case '>': return gt(a, b, loose) case '>=': return gte(a, b, loose) case '<': return lt(a, b, loose) case '<=': return lte(a, b, loose) default: throw new TypeError(`Invalid operator: ${op}`) } } module.exports = cmp