export function isValidHostname(value: string | null | undefined) { if (typeof value !== "string") return false; const validHostnameChars = /^[a-zA-Z0-9-.]{1,253}\.?$/g; if (!validHostnameChars.test(value)) { return false; } if (value.endsWith(".")) { value = value.slice(0, value.length - 1); } if (value.length > 253) { return false; } const labels = value.split("."); const isValid = labels.every(function (label) { const validLabelChars = /^([a-zA-Z0-9-]+)$/g; const validLabel = validLabelChars.test(label) && label.length < 64 && !label.startsWith("-") && !label.endsWith("-"); return validLabel; }); return isValid; }