export const DEFAULT_MAILBOX_PAGE_SIZE = 30;
export const MAILBOX_PAGE_SIZE_OPTIONS = [10, 30, 50, 100] as const;

const MAILBOX_PAGE_SIZE_SET = new Set<number>(MAILBOX_PAGE_SIZE_OPTIONS);

export function normalizeMailboxPageSize(value: unknown) {
  const pageSize = typeof value === "number" ? value : Number(value ?? DEFAULT_MAILBOX_PAGE_SIZE);
  const normalized = Number.isFinite(pageSize) ? Math.floor(pageSize) : DEFAULT_MAILBOX_PAGE_SIZE;

  return MAILBOX_PAGE_SIZE_SET.has(normalized) ? normalized : DEFAULT_MAILBOX_PAGE_SIZE;
}
