MCPcopy
hub / github.com/npm/node-semver / cmp

Function cmp

functions/cmp.js:10–53  ·  view source on GitHub ↗
(a, op, b, loose)

Source from the content-addressed store, hash-verified

8const lte = require('./lte')
9
10const cmp = (a, op, b, loose) => {
11 switch (op) {
12 case '===':
13 if (typeof a === 'object') {
14 a = a.version
15 }
16 if (typeof b === 'object') {
17 b = b.version
18 }
19 return a === b
20
21 case '!==':
22 if (typeof a === 'object') {
23 a = a.version
24 }
25 if (typeof b === 'object') {
26 b = b.version
27 }
28 return a !== b
29
30 case '':
31 case '=':
32 case '==':
33 return eq(a, b, loose)
34
35 case '!=':
36 return neq(a, b, loose)
37
38 case '>':
39 return gt(a, b, loose)
40
41 case '>=':
42 return gte(a, b, loose)
43
44 case '<':
45 return lt(a, b, loose)
46
47 case '<=':
48 return lte(a, b, loose)
49
50 default:
51 throw new TypeError(`Invalid operator: ${op}`)
52 }
53}
54module.exports = cmp

Callers 3

testMethod · 0.85
intersectsMethod · 0.85
cmp.jsFile · 0.85

Calls 6

eqFunction · 0.85
neqFunction · 0.85
gtFunction · 0.85
gteFunction · 0.85
ltFunction · 0.85
lteFunction · 0.85

Tested by 1

testMethod · 0.68