970eb58d1f35bd1d25c90cc5457b7dae4a7abf03d86a37ef262d7e4205248371.json 12 KB

1
  1. {"ast":null,"code":"const ANY = Symbol('SemVer ANY');\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY() {\n return ANY;\n }\n constructor(comp, options) {\n options = parseOptions(options);\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp;\n } else {\n comp = comp.value;\n }\n }\n comp = comp.trim().split(/\\s+/).join(' ');\n debug('comparator', comp, options);\n this.options = options;\n this.loose = !!options.loose;\n this.parse(comp);\n if (this.semver === ANY) {\n this.value = '';\n } else {\n this.value = this.operator + this.semver.version;\n }\n debug('comp', this);\n }\n parse(comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];\n const m = comp.match(r);\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`);\n }\n this.operator = m[1] !== undefined ? m[1] : '';\n if (this.operator === '=') {\n this.operator = '';\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY;\n } else {\n this.semver = new SemVer(m[2], this.options.loose);\n }\n }\n toString() {\n return this.value;\n }\n test(version) {\n debug('Comparator.test', version, this.options.loose);\n if (this.semver === ANY || version === ANY) {\n return true;\n }\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options);\n } catch (er) {\n return false;\n }\n }\n return cmp(version, this.operator, this.semver, this.options);\n }\n intersects(comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required');\n }\n if (this.operator === '') {\n if (this.value === '') {\n return true;\n }\n return new Range(comp.value, options).test(this.value);\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true;\n }\n return new Range(this.value, options).test(comp.semver);\n }\n options = parseOptions(options);\n\n // Special cases where nothing can possibly be lower\n if (options.includePrerelease && (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {\n return false;\n }\n if (!options.includePrerelease && (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {\n return false;\n }\n\n // Same direction increasing (> or >=)\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {\n return true;\n }\n // Same direction decreasing (< or <=)\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {\n return true;\n }\n // same SemVer and both sides are inclusive (<= or >=)\n if (this.semver.version === comp.semver.version && this.operator.includes('=') && comp.operator.includes('=')) {\n return true;\n }\n // opposite directions less than\n if (cmp(this.semver, '<', comp.semver, options) && this.operator.startsWith('>') && comp.operator.startsWith('<')) {\n return true;\n }\n // opposite directions greater than\n if (cmp(this.semver, '>', comp.semver, options) && this.operator.startsWith('<') && comp.operator.startsWith('>')) {\n return true;\n }\n return false;\n }\n}\nmodule.exports = Comparator;\nconst parseOptions = require('../internal/parse-options');\nconst {\n safeRe: re,\n t\n} = require('../internal/re');\nconst cmp = require('../functions/cmp');\nconst debug = require('../internal/debug');\nconst SemVer = require('./semver');\nconst Range = require('./range');","map":{"version":3,"names":["ANY","Symbol","Comparator","constructor","comp","options","parseOptions","loose","value","trim","split","join","debug","parse","semver","operator","version","r","re","t","COMPARATORLOOSE","COMPARATOR","m","match","TypeError","undefined","SemVer","toString","test","er","cmp","intersects","Range","includePrerelease","startsWith","includes","module","exports","require","safeRe"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/semver/classes/comparator.js"],"sourcesContent":["const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n\n constructor (comp, options) {\n options = parseOptions(options)\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n options = parseOptions(options)\n\n // Special cases where nothing can possibly be lower\n if (options.includePrerelease &&\n (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {\n return false\n }\n if (!options.includePrerelease &&\n (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {\n return false\n }\n\n // Same direction increasing (> or >=)\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {\n return true\n }\n // Same direction decreasing (< or <=)\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {\n return true\n }\n // same SemVer and both sides are inclusive (<= or >=)\n if (\n (this.semver.version === comp.semver.version) &&\n this.operator.includes('=') && comp.operator.includes('=')) {\n return true\n }\n // opposite directions less than\n if (cmp(this.semver, '<', comp.semver, options) &&\n this.operator.startsWith('>') && comp.operator.startsWith('<')) {\n return true\n }\n // opposite directions greater than\n if (cmp(this.semver, '>', comp.semver, options) &&\n this.operator.startsWith('<') && comp.operator.startsWith('>')) {\n return true\n }\n return false\n }\n}\n\nmodule.exports = Comparator\n\nconst parseOptions = require('../internal/parse-options')\nconst { safeRe: re, t } = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}