UNPKG

@waku/enr

Version:
31 lines 1.08 kB
import { multiaddrFromFields } from "./multiaddr_from_fields.js"; export function locationMultiaddrFromEnrFields(enr, protocol) { switch (protocol) { case "udp": return (locationMultiaddrFromEnrFields(enr, "udp4") || locationMultiaddrFromEnrFields(enr, "udp6")); case "tcp": return (locationMultiaddrFromEnrFields(enr, "tcp4") || locationMultiaddrFromEnrFields(enr, "tcp6")); } const isIpv6 = protocol.endsWith("6"); const ipVal = enr.get(isIpv6 ? "ip6" : "ip"); if (!ipVal) return; const protoName = protocol.slice(0, 3); let protoVal; switch (protoName) { case "udp": protoVal = isIpv6 ? enr.get("udp6") : enr.get("udp"); break; case "tcp": protoVal = isIpv6 ? enr.get("tcp6") : enr.get("tcp"); break; default: return; } if (!protoVal) return; return multiaddrFromFields(isIpv6 ? "ip6" : "ip4", protoName, ipVal, protoVal); } //# sourceMappingURL=get_multiaddr.js.map