import { DEFAULT_ORG_TIMEZONE } from './timezone.constants';

export function isValidIanaTimezone(timeZone: string): boolean {
  if (!timeZone || typeof timeZone !== 'string') {
    return false;
  }

  try {
    Intl.DateTimeFormat(undefined, { timeZone });
    return true;
  } catch {
    return false;
  }
}

export function normalizeTimezone(value?: string | null): string {
  if (value && isValidIanaTimezone(value)) {
    return value;
  }

  return DEFAULT_ORG_TIMEZONE;
}
