Files
react-native-devtools-frontend/node_modules/semver/functions/cmp.js
T
Nikolay Vitkov 17794eed93 Update TypeScript to v5.7.3
https://devblogs.microsoft.com/typescript/announcing-typescript-5-7/
Some changes to the ArrayBuffer types was needed. And TypeScript started
"panicking" if we included a bundle multiple times, so updated the
BUILD.gn files.

Bug: none
Change-Id: I3277c191c83ea773ef88765ff89a4f4103b5757c
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6210862
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Nikolay Vitkov <nvitkov@chromium.org>
2025-01-30 03:58:33 -08:00

53 lines
947 B
JavaScript

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