/** * Join URL segments * @param {...String} parts URL segments to join * @returns {String} A joined URL string */ function joinURL(...parts) { return joinURLParts( parts.reduce((output, nextPart, partIndex) => { if (partIndex === 0 || nextPart !== "/" || (nextPart === "/" && output[output.length - 1] !== "/")) { output.push(nextPart); } return output; }, []) ); }