{"ast":null,"code":"const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH\n} = require('./constants');\nconst debug = require('./debug');\nexports = module.exports = {};\n\n// The actual regexps go on exports.re\nconst re = exports.re = [];\nconst safeRe = exports.safeRe = [];\nconst src = exports.src = [];\nconst t = exports.t = {};\nlet R = 0;\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]';\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [['\\\\s', 1], ['\\\\d', MAX_LENGTH], [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]];\nconst makeSafeRegex = value => {\n for (const [token, max] of safeRegexReplacements) {\n value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);\n }\n return value;\n};\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value);\n const index = R++;\n debug(name, index, value);\n t[name] = index;\n src[index] = value;\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined);\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined);\n};\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*');\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+');\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` + `(${src[t.NUMERICIDENTIFIER]})\\\\.` + `(${src[t.NUMERICIDENTIFIER]})`);\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})`);\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`);\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`);\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`);\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`);\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`);\ncreateToken('GTLT', '((?:<|>)?=?)');\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`);\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` + `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?` + `)?)?`);\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?` + `)?)?`);\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`);\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`);\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' + '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` + `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`);\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?` + `(?:${src[t.BUILD]})?` + `(?:$|[^\\\\d])`);\ncreateToken('COERCERTL', src[t.COERCE], true);\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true);\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)');\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true);\nexports.tildeTrimReplace = '$1~';\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)');\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true);\nexports.caretTrimReplace = '$1^';\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`);\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`);\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);\nexports.comparatorTrimReplace = '$1$2$3';\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` + `\\\\s+-\\\\s+` + `(${src[t.XRANGEPLAIN]})` + `\\\\s*$`);\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` + `\\\\s+-\\\\s+` + `(${src[t.XRANGEPLAINLOOSE]})` + `\\\\s*$`);\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*');\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$');\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$');","map":{"version":3,"names":["MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","MAX_LENGTH","require","debug","exports","module","re","safeRe","src","t","R","LETTERDASHNUMBER","safeRegexReplacements","makeSafeRegex","value","token","max","split","join","createToken","name","isGlobal","safe","index","RegExp","undefined","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCEPLAIN","COERCE","COERCEFULL","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/semver/internal/re.js"],"sourcesContent":["const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n `(?:${src[t.PRERELEASE]})?` +\n `(?:${src[t.BUILD]})?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}