const MAILBOX_LOCAL_PART_PATTERN = /^(?=.{1,64}$)[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?$/;

export function normalizeMailboxLocalPart(value: string) {
  return value.trim().replace(/\s+/g, "").toLowerCase();
}

export function isValidMailboxLocalPart(value: string) {
  return MAILBOX_LOCAL_PART_PATTERN.test(value);
}

export function buildMailboxEmail(localPart: string, domain: string) {
  return `${localPart}@${domain.trim().toLowerCase()}`;
}
