68 lines
1.6 KiB
JavaScript
68 lines
1.6 KiB
JavaScript
"use strict";
|
|
|
|
require("core-js/modules/es.symbol");
|
|
|
|
require("core-js/modules/es.symbol.description");
|
|
|
|
require("core-js/modules/es.symbol.iterator");
|
|
|
|
require("core-js/modules/es.array.iterator");
|
|
|
|
require("core-js/modules/es.object.to-string");
|
|
|
|
require("core-js/modules/es.string.iterator");
|
|
|
|
require("core-js/modules/web.dom-collections.iterator");
|
|
|
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
|
|
var eq = require('./eq');
|
|
|
|
var neq = require('./neq');
|
|
|
|
var gt = require('./gt');
|
|
|
|
var gte = require('./gte');
|
|
|
|
var lt = require('./lt');
|
|
|
|
var lte = require('./lte');
|
|
|
|
var cmp = function 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: ".concat(op));
|
|
}
|
|
};
|
|
|
|
module.exports = cmp; |