UNPKG

locutus

Version:

Locutus other languages' standard libraries to JavaScript for fun and educational purposes

20 lines (19 loc) 858 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JoinHostPort = JoinHostPort; function JoinHostPort(host, port) { // discuss at: https://locutus.io/golang/net/JoinHostPort // parity verified: Go 1.23 // original by: Kevin van Zonneveld (https://kvz.io) // example 1: JoinHostPort('localhost', '80') // returns 1: 'localhost:80' // example 2: JoinHostPort('2001:db8::1', '443') // returns 2: '[2001:db8::1]:443' // example 3: JoinHostPort('[2001:db8::1]', '443') // returns 3: '[[2001:db8::1]]:443' const hostValue = String(host); const portValue = String(port); const needsBrackets = hostValue.includes(':'); const normalizedHost = needsBrackets ? `[${hostValue}]` : hostValue; return `${normalizedHost}:${portValue}`; }