{"version":3,"sources":["jsdelivr-header.js","/npm/libnpmsearch@9.0.1/lib/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,MAAM,SAAW,QAAQ,sBAGzB,SAAS,OAAQ,EAAO,GACtB,OAAO,OAAO,OAAO,EAAO,GAAM,SACpC,CAEA,SAAS,aAAc,EAAO,EAAO,CAAC,GAYpC,QAXA,EAAO,CACL,UAAU,EACV,MAAO,GACP,KAAM,EACN,QAAS,IACT,WAAY,IACZ,YAAa,MACV,EAAK,QACL,IAGQ,QACX,IAAK,UACH,EAAK,QAAU,IACf,EAAK,WAAa,IAClB,EAAK,YAAc,GACnB,MAEF,IAAK,UACH,EAAK,QAAU,EACf,EAAK,WAAa,EAClB,EAAK,YAAc,EACnB,MAEF,IAAK,aACH,EAAK,QAAU,EACf,EAAK,WAAa,EAClB,EAAK,YAAc,EACnB,MAEF,IAAK,cACH,EAAK,QAAU,EACf,EAAK,WAAa,EAClB,EAAK,YAAc,EAIvB,OAAO,SAAS,KAAK,OAAO,eAAgB,YAC1C,IACK,EACH,MAAO,CACL,KAAM,MAAM,QAAQ,GAAS,EAAM,KAAK,KAAO,EAC/C,KAAM,EAAK,MACX,KAAM,EAAK,KACX,QAAS,EAAK,QACd,WAAY,EAAK,WACjB,YAAa,EAAK,aAEpB,QAAU,IACJ,EAAI,QAAQ,OACd,EAAI,QAAQ,KAAO,IAAI,KAAK,EAAI,QAAQ,OAEtC,EAAK,SACA,EAEA,EAAI,UAKrB,CAlEA,OAAO,QAAU,OAIjB,OAAO,OAAS","file":"/npm/libnpmsearch@9.0.1/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/libnpmsearch@9.0.1/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict'\n\nconst npmFetch = require('npm-registry-fetch')\n\nmodule.exports = search\nfunction search (query, opts) {\n  return search.stream(query, opts).collect()\n}\nsearch.stream = searchStream\nfunction searchStream (query, opts = {}) {\n  opts = {\n    detailed: false,\n    limit: 20,\n    from: 0,\n    quality: 0.65,\n    popularity: 0.98,\n    maintenance: 0.5,\n    ...opts.opts, // this is to support the cli's --searchopts parameter\n    ...opts,\n  }\n\n  switch (opts.sortBy) {\n    case 'optimal': {\n      opts.quality = 0.65\n      opts.popularity = 0.98\n      opts.maintenance = 0.5\n      break\n    }\n    case 'quality': {\n      opts.quality = 1\n      opts.popularity = 0\n      opts.maintenance = 0\n      break\n    }\n    case 'popularity': {\n      opts.quality = 0\n      opts.popularity = 1\n      opts.maintenance = 0\n      break\n    }\n    case 'maintenance': {\n      opts.quality = 0\n      opts.popularity = 0\n      opts.maintenance = 1\n      break\n    }\n  }\n  return npmFetch.json.stream('/-/v1/search', 'objects.*',\n    {\n      ...opts,\n      query: {\n        text: Array.isArray(query) ? query.join(' ') : query,\n        size: opts.limit,\n        from: opts.from,\n        quality: opts.quality,\n        popularity: opts.popularity,\n        maintenance: opts.maintenance,\n      },\n      mapJSON: (obj) => {\n        if (obj.package.date) {\n          obj.package.date = new Date(obj.package.date)\n        }\n        if (opts.detailed) {\n          return obj\n        } else {\n          return obj.package\n        }\n      },\n    }\n  )\n}\n"]}