Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
cmp.js55 linesDownload Raw Back to functions
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
55 
codekingpro/portable-devtools · Team Ai