source: frontend/node_modules/semver/functions/cmp.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 11 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 961 bytes
Line 
1'use strict'
2
3const eq = require('./eq')
4const neq = require('./neq')
5const gt = require('./gt')
6const gte = require('./gte')
7const lt = require('./lt')
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
Note: See TracBrowser for help on using the repository browser.