{"version":3,"sources":["jsdelivr-header.js","/npm/peer-info@0.17.5/src/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,MAAM,OAAS,QAAQ,YACjB,gBAAE,iBAAoB,QAAQ,WAC9B,aAAe,QAAQ,mBAG7B,MAAM,SACJ,WAAA,CAAa,GACX,IAAK,EACH,MAAM,IAAI,MAAM,mDAGlB,KAAK,GAAK,EACV,KAAK,WAAa,IAAI,aAOtB,KAAK,UAAY,IAAI,IAErB,KAAK,yBAAsB,CAC7B,CAGA,OAAA,CAAS,GAEP,GADA,EAAK,gBAAgB,IAChB,KAAK,WAAW,IAAI,IAAO,EAAG,aAAe,SAAS,KAAK,GAAG,gBACjE,MAAM,IAAI,MAAM,oDAElB,KAAK,oBAAsB,CAC7B,CAEA,UAAA,GACE,KAAK,yBAAsB,CAC7B,CAEA,WAAA,GACE,OAAO,KAAK,mBACd,EAGF,SAAS,OAAS,MAAO,IACT,MAAV,EACF,QAAe,OAAO,SACZ,OAAO,SAAS,KAC1B,QAAe,OAAO,eAAe,IAGhC,IAAI,SAAS,IAGtB,SAAS,WAAc,GACd,QAA4B,iBAAb,GACpB,EAAS,IACT,EAAS,YAGb,OAAO,QAAU","file":"/npm/peer-info@0.17.5/src/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/peer-info@0.17.5/src/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 PeerId = require('peer-id')\nconst { ensureMultiaddr } = require('./utils')\nconst MultiaddrSet = require('./multiaddr-set')\n\n// Peer represents a peer on the IPFS network\nclass PeerInfo {\n  constructor (peerId) {\n    if (!peerId) {\n      throw new Error('Missing peerId. Use Peer.create() to create one')\n    }\n\n    this.id = peerId\n    this.multiaddrs = new MultiaddrSet()\n\n    /**\n     * Stores protocols this peers supports\n     *\n     * @type {Set<string>}\n     */\n    this.protocols = new Set()\n\n    this._connectedMultiaddr = undefined\n  }\n\n  // only stores the current multiaddr being used\n  connect (ma) {\n    ma = ensureMultiaddr(ma)\n    if (!this.multiaddrs.has(ma) && ma.toString() !== `/ipfs/${this.id.toB58String()}`) {\n      throw new Error('can\\'t be connected to missing multiaddr from set')\n    }\n    this._connectedMultiaddr = ma\n  }\n\n  disconnect () {\n    this._connectedMultiaddr = undefined\n  }\n\n  isConnected () {\n    return this._connectedMultiaddr\n  }\n}\n\nPeerInfo.create = async (peerId) => {\n  if (peerId == null) {\n    peerId = await PeerId.create()\n  } else if (!PeerId.isPeerId(peerId)) {\n    peerId = await PeerId.createFromJSON(peerId)\n  }\n\n  return new PeerInfo(peerId)\n}\n\nPeerInfo.isPeerInfo = (peerInfo) => {\n  return Boolean(typeof peerInfo === 'object' &&\n    peerInfo.id &&\n    peerInfo.multiaddrs)\n}\n\nmodule.exports = PeerInfo\n"]}