{"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":["C:/Users/user/Desktop/05mediaSocial/node_modules/jsonwebtoken/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,CAAE,KAAIE,GAAI,EAAC,CAAC;IACzB,CAAC,MAAM,IAAIA,GAAG,KAAKR,CAAC,CAAC,CAAC,CAAC,EAAE;MACvBO,MAAM,CAACD,IAAI,CAAE,KAAIG,GAAI,EAAC,CAAC;IACzB,CAAC,MAAM;MACLF,MAAM,CAACD,IAAI,CAAE,GAAEE,GAAI,MAAKC,GAAI,EAAC,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"},"metadata":{},"sourceType":"script","externalDependencies":[]}