github.com/hernad/nomad@v1.6.112/ui/app/utils/ip-parts.js (about) 1 /** 2 * Copyright (c) HashiCorp, Inc. 3 * SPDX-License-Identifier: MPL-2.0 4 */ 5 6 // Splits any IP address into an address and a port 7 export default function ipParts(ip) { 8 const parts = ip ? ip.split(':') : []; 9 if (parts.length === 0) { 10 // ipv4, no port 11 return { address: ip, port: undefined }; 12 } else if (parts.length === 2) { 13 // ipv4, with port 14 return { address: parts[0], port: parts[1] }; 15 } else if (ip.startsWith('[')) { 16 // ipv6, with port 17 return { 18 address: parts.slice(0, parts.length - 1).join(':'), 19 port: parts[parts.length - 1], 20 }; 21 } else { 22 // ipv6, no port 23 return { address: ip, port: undefined }; 24 } 25 }