github.com/iqoqo/nomad@v0.11.3-0.20200911112621-d7021c74d101/ui/app/utils/ip-parts.js (about) 1 // Splits any IP address into an address and a port 2 export default function ipParts(ip) { 3 const parts = ip ? ip.split(':') : []; 4 if (parts.length === 0) { 5 // ipv4, no port 6 return { address: ip, port: undefined }; 7 } else if (parts.length === 2) { 8 // ipv4, with port 9 return { address: parts[0], port: parts[1] }; 10 } else if (ip.startsWith('[')) { 11 // ipv6, with port 12 return { 13 address: parts.slice(0, parts.length - 1).join(':'), 14 port: parts[parts.length - 1], 15 }; 16 } else { 17 // ipv6, no port 18 return { address: ip, port: undefined }; 19 } 20 }