in js/src/lib/idna.js [14:30]
toAscii: function(domain) {
if (domain.substring(0, 4) === PUNYCODE_ENCODED_DOMAIN_PREFIX && !domain.match(validAsciiDomain)) {
// Punycode encoded url cannot contain non ASCII characters
return;
}
const labels = domain.split('.');
for (let i = 0; i < labels.length; i++) {
const label = labels[i];
const punycodeEncodedLabel = punycode.toASCII(label);
if (punycodeEncodedLabel.length < 1 || punycodeEncodedLabel.length > MAX_DOMAIN_LABEL_LENGTH) {
// DNS label has invalid length
return;
}
}
return labels.join('.');
}