{"version":3,"sources":["jsdelivr-header.js","/npm/libnpmaccess@10.0.3/lib/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,MAAM,IAAM,QAAQ,mBACd,SAAW,QAAQ,sBAEnB,KAAQ,IAEZ,KADA,EAAO,IAAI,IACD,SACR,MAAM,IAAI,MAAM,8BAElB,OAAO,GAGH,UAAa,IACjB,IAAI,EAAQ,EACR,EAAU,WAAW,OACvB,EAAQ,GAEV,MAAO,EAAO,GAAQ,EAAU,MAAM,GAAO,MAAM,KAAK,IAAI,oBAC5D,MAAO,CAAE,QAAO,OAAK,EAGjB,YAAc,MAAO,EAAW,KACpC,MAAM,MAAE,EAAK,KAAE,GAAS,UAAU,GAElC,IAAI,EAEF,EADE,EACI,WAAW,KAAS,YAEpB,UAAU,YAElB,IACE,aAAa,SAAS,KAAK,EAAK,EAClC,CAAE,MAAO,GACP,GAAiB,SAAb,EAAI,KAEN,OADA,EAAM,WAAW,YACV,SAAS,KAAK,EAAK,GAE5B,MAAM,CACR,GAGI,iBAAmB,MAAO,EAAK,KACnC,MACM,EAAM,cADC,KAAK,GACa,4BAC/B,OAAO,SAAS,KAAK,EAAK,EAAI,EAG1B,cAAgB,MAAO,EAAK,KAChC,MACM,EAAM,cADC,KAAK,GACa,yBAC/B,OAAO,SAAS,KAAK,EAAK,EAAI,EAG1B,UAAY,MAAO,EAAK,EAAQ,KACpC,MAAM,EAAO,KAAK,GACZ,EAAM,cAAc,EAAK,qBAQ/B,aAPM,SAAS,EAAK,IACf,EACH,OAAQ,OACR,KAAM,CAAE,UACR,OACA,YAAY,KAEP,GAGH,OAAS,MAAO,EAAK,EAAO,KAChC,MAAM,EAAO,KAAK,GACZ,EAAO,CAAC,EACd,OAAQ,GACN,IAAK,OACH,EAAK,sBAAuB,EAC5B,MACF,IAAK,UAEH,EAAK,sBAAuB,EAC5B,EAAK,gCAAiC,EACtC,MACF,IAAK,aAEH,EAAK,sBAAuB,EAC5B,EAAK,gCAAiC,EACtC,MACF,QACE,MAAM,IAAI,MAAM,uBAAuB,KAE3C,MAAM,EAAM,cAAc,EAAK,qBAQ/B,aAPM,SAAS,EAAK,IACf,EACH,OAAQ,OACR,OACA,OACA,YAAY,KAEP,GAGH,eAAiB,MAAO,EAAW,EAAK,EAAa,KACzD,MAAM,EAAO,KAAK,IACZ,MAAE,EAAK,KAAE,GAAS,UAAU,GAClC,IAAK,IAAU,EACb,MAAM,IAAI,MAAM,uCAElB,MAAM,EAAM,WAAW,KAAS,YAShC,aARM,SAAS,EAAK,IACf,EACH,OAAQ,MACR,KAAM,CAAE,QAAS,EAAK,KAAM,eAC5B,QACA,OACA,YAAY,KAEP,GAGH,kBAAoB,MAAO,EAAW,EAAK,KAC/C,MAAM,EAAO,KAAK,IACZ,MAAE,EAAK,KAAE,GAAS,UAAU,GAC5B,EAAM,WAAW,KAAS,YAShC,aARM,SAAS,EAAK,IACf,EACH,OAAQ,SACR,KAAM,CAAE,QAAS,EAAK,MACtB,QACA,OACA,YAAY,KAEP,GAGT,OAAO,QAAU,CACf,kCACA,wBACA,4BACA,oCACA,oBACA,cACA","file":"/npm/libnpmaccess@10.0.3/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/libnpmaccess@10.0.3/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 npa = require('npm-package-arg')\nconst npmFetch = require('npm-registry-fetch')\n\nconst npar = (spec) => {\n  spec = npa(spec)\n  if (!spec.registry) {\n    throw new Error('must use package name only')\n  }\n  return spec\n}\n\nconst parseTeam = (scopeTeam) => {\n  let slice = 0\n  if (scopeTeam.startsWith('@')) {\n    slice = 1\n  }\n  const [scope, team] = scopeTeam.slice(slice).split(':').map(encodeURIComponent)\n  return { scope, team }\n}\n\nconst getPackages = async (scopeTeam, opts) => {\n  const { scope, team } = parseTeam(scopeTeam)\n\n  let uri\n  if (team) {\n    uri = `/-/team/${scope}/${team}/package`\n  } else {\n    uri = `/-/org/${scope}/package`\n  }\n  try {\n    return await npmFetch.json(uri, opts)\n  } catch (err) {\n    if (err.code === 'E404') {\n      uri = `/-/user/${scope}/package`\n      return npmFetch.json(uri, opts)\n    }\n    throw err\n  }\n}\n\nconst getCollaborators = async (pkg, opts) => {\n  const spec = npar(pkg)\n  const uri = `/-/package/${spec.escapedName}/collaborators`\n  return npmFetch.json(uri, opts)\n}\n\nconst getVisibility = async (pkg, opts) => {\n  const spec = npar(pkg)\n  const uri = `/-/package/${spec.escapedName}/visibility`\n  return npmFetch.json(uri, opts)\n}\n\nconst setAccess = async (pkg, access, opts) => {\n  const spec = npar(pkg)\n  const uri = `/-/package/${spec.escapedName}/access`\n  await npmFetch(uri, {\n    ...opts,\n    method: 'POST',\n    body: { access },\n    spec,\n    ignoreBody: true,\n  })\n  return true\n}\n\nconst setMfa = async (pkg, level, opts) => {\n  const spec = npar(pkg)\n  const body = {}\n  switch (level) {\n    case 'none':\n      body.publish_requires_tfa = false\n      break\n    case 'publish':\n      // tfa is required, automation tokens cannot override tfa\n      body.publish_requires_tfa = true\n      body.automation_token_overrides_tfa = false\n      break\n    case 'automation':\n      // tfa is required, automation tokens can override tfa\n      body.publish_requires_tfa = true\n      body.automation_token_overrides_tfa = true\n      break\n    default:\n      throw new Error(`Invalid mfa setting ${level}`)\n  }\n  const uri = `/-/package/${spec.escapedName}/access`\n  await npmFetch(uri, {\n    ...opts,\n    method: 'POST',\n    body,\n    spec,\n    ignoreBody: true,\n  })\n  return true\n}\n\nconst setPermissions = async (scopeTeam, pkg, permissions, opts) => {\n  const spec = npar(pkg)\n  const { scope, team } = parseTeam(scopeTeam)\n  if (!scope || !team) {\n    throw new Error('team must be in format `scope:team`')\n  }\n  const uri = `/-/team/${scope}/${team}/package`\n  await npmFetch(uri, {\n    ...opts,\n    method: 'PUT',\n    body: { package: spec.name, permissions },\n    scope,\n    spec,\n    ignoreBody: true,\n  })\n  return true\n}\n\nconst removePermissions = async (scopeTeam, pkg, opts) => {\n  const spec = npar(pkg)\n  const { scope, team } = parseTeam(scopeTeam)\n  const uri = `/-/team/${scope}/${team}/package`\n  await npmFetch(uri, {\n    ...opts,\n    method: 'DELETE',\n    body: { package: spec.name },\n    scope,\n    spec,\n    ignoreBody: true,\n  })\n  return true\n}\n\nmodule.exports = {\n  getCollaborators,\n  getPackages,\n  getVisibility,\n  removePermissions,\n  setAccess,\n  setMfa,\n  setPermissions,\n}\n"]}