1 const eq = require('./eq')
2 const neq = require('./neq')
3 const gt = require('./gt')
4 const gte = require('./gte')
5 const lt = require('./lt')
6 const lte = require('./lte')
8 const cmp = (a, op, b, loose) => {
11 if (typeof a === 'object')
13 if (typeof b === 'object')
18 if (typeof a === 'object')
20 if (typeof b === 'object')
27 return eq(a, b, loose)
30 return neq(a, b, loose)
33 return gt(a, b, loose)
36 return gte(a, b, loose)
39 return lt(a, b, loose)
42 return lte(a, b, loose)
45 throw new TypeError(`Invalid operator: ${op}`)