1 |
- {"ast":null,"code":"// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js');\nconst compare = require('../functions/compare.js');\nmodule.exports = (versions, range, options) => {\n const set = [];\n let first = null;\n let prev = null;\n const v = versions.sort((a, b) => compare(a, b, options));\n for (const version of v) {\n const included = satisfies(version, range, options);\n if (included) {\n prev = version;\n if (!first) {\n first = version;\n }\n } else {\n if (prev) {\n set.push([first, prev]);\n }\n prev = null;\n first = null;\n }\n }\n if (first) {\n set.push([first, null]);\n }\n const ranges = [];\n for (const [min, max] of set) {\n if (min === max) {\n ranges.push(min);\n } else if (!max && min === v[0]) {\n ranges.push('*');\n } else if (!max) {\n ranges.push(`>=${min}`);\n } else if (min === v[0]) {\n ranges.push(`<=${max}`);\n } else {\n ranges.push(`${min} - ${max}`);\n }\n }\n const simplified = ranges.join(' || ');\n const original = typeof range.raw === 'string' ? range.raw : String(range);\n return simplified.length < original.length ? simplified : range;\n};","map":{"version":3,"names":["satisfies","require","compare","module","exports","versions","range","options","set","first","prev","v","sort","a","b","version","included","push","ranges","min","max","simplified","join","original","raw","String","length"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/semver/ranges/simplify.js"],"sourcesContent":["// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let first = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!first) {\n first = version\n }\n } else {\n if (prev) {\n set.push([first, prev])\n }\n prev = null\n first = null\n }\n }\n if (first) {\n set.push([first, null])\n }\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max) {\n ranges.push(min)\n } else if (!max && min === v[0]) {\n ranges.push('*')\n } else if (!max) {\n ranges.push(`>=${min}`)\n } else if (min === v[0]) {\n ranges.push(`<=${max}`)\n } else {\n ranges.push(`${min} - ${max}`)\n }\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,MAAMA,SAAS,GAAGC,OAAO,CAAC,2BAA2B,CAAC;AACtD,MAAMC,OAAO,GAAGD,OAAO,CAAC,yBAAyB,CAAC;AAClDE,MAAM,CAACC,OAAO,GAAG,CAACC,QAAQ,EAAEC,KAAK,EAAEC,OAAO,KAAK;EAC7C,MAAMC,GAAG,GAAG,EAAE;EACd,IAAIC,KAAK,GAAG,IAAI;EAChB,IAAIC,IAAI,GAAG,IAAI;EACf,MAAMC,CAAC,GAAGN,QAAQ,CAACO,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKZ,OAAO,CAACW,CAAC,EAAEC,CAAC,EAAEP,OAAO,CAAC,CAAC;EACzD,KAAK,MAAMQ,OAAO,IAAIJ,CAAC,EAAE;IACvB,MAAMK,QAAQ,GAAGhB,SAAS,CAACe,OAAO,EAAET,KAAK,EAAEC,OAAO,CAAC;IACnD,IAAIS,QAAQ,EAAE;MACZN,IAAI,GAAGK,OAAO;MACd,IAAI,CAACN,KAAK,EAAE;QACVA,KAAK,GAAGM,OAAO;MACjB;IACF,CAAC,MAAM;MACL,IAAIL,IAAI,EAAE;QACRF,GAAG,CAACS,IAAI,CAAC,CAACR,KAAK,EAAEC,IAAI,CAAC,CAAC;MACzB;MACAA,IAAI,GAAG,IAAI;MACXD,KAAK,GAAG,IAAI;IACd;EACF;EACA,IAAIA,KAAK,EAAE;IACTD,GAAG,CAACS,IAAI,CAAC,CAACR,KAAK,EAAE,IAAI,CAAC,CAAC;EACzB;EAEA,MAAMS,MAAM,GAAG,EAAE;EACjB,KAAK,MAAM,CAACC,GAAG,EAAEC,GAAG,CAAC,IAAIZ,GAAG,EAAE;IAC5B,IAAIW,GAAG,KAAKC,GAAG,EAAE;MACfF,MAAM,CAACD,IAAI,CAACE,GAAG,CAAC;IAClB,CAAC,MAAM,IAAI,CAACC,GAAG,IAAID,GAAG,KAAKR,CAAC,CAAC,CAAC,CAAC,EAAE;MAC/BO,MAAM,CAACD,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC,MAAM,IAAI,CAACG,GAAG,EAAE;MACfF,MAAM,CAACD,IAAI,CAAC,KAAKE,GAAG,EAAE,CAAC;IACzB,CAAC,MAAM,IAAIA,GAAG,KAAKR,CAAC,CAAC,CAAC,CAAC,EAAE;MACvBO,MAAM,CAACD,IAAI,CAAC,KAAKG,GAAG,EAAE,CAAC;IACzB,CAAC,MAAM;MACLF,MAAM,CAACD,IAAI,CAAC,GAAGE,GAAG,MAAMC,GAAG,EAAE,CAAC;IAChC;EACF;EACA,MAAMC,UAAU,GAAGH,MAAM,CAACI,IAAI,CAAC,MAAM,CAAC;EACtC,MAAMC,QAAQ,GAAG,OAAOjB,KAAK,CAACkB,GAAG,KAAK,QAAQ,GAAGlB,KAAK,CAACkB,GAAG,GAAGC,MAAM,CAACnB,KAAK,CAAC;EAC1E,OAAOe,UAAU,CAACK,MAAM,GAAGH,QAAQ,CAACG,MAAM,GAAGL,UAAU,GAAGf,KAAK;AACjE,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}
|