Sha256: 19d0f4d1a269078002691b4b617240c7e3ee5957e4a3610e00c1408c63e9a4a9

Contents?: true

Size: 947 Bytes

Versions: 129

Compression:

Stored size: 947 Bytes

Contents

const eq = require('./eq')
const neq = require('./neq')
const gt = require('./gt')
const gte = require('./gte')
const lt = require('./lt')
const lte = require('./lte')

const 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: ${op}`)
  }
}
module.exports = cmp

Version data entries

129 entries across 55 versions & 5 rubygems

Version Path
rapid_stack-0.1.1 templates/FrontEnd/node_modules/semver/functions/cmp.js
rapid_stack-0.1.0 templates/FrontEnd/node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.62 node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.61 node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.60 node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.60 node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.60 node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.60 node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.60 node_modules/vue-eslint-parser/node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.60 node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.59 node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.59 node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.59 node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.59 node_modules/vue-eslint-parser/node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.59 node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.59 node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.58 node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.58 node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.58 node_modules/vue-eslint-parser/node_modules/semver/functions/cmp.js
immosquare-cleaner-0.1.58 node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/cmp.js