export interface LocaleData { locale: string, messages: Record, } let loadedLocale: LocaleData | undefined; export function setLocale(locale: LocaleData) { loadedLocale = locale; } export function getLocale(): LocaleData { if (!loadedLocale) { if (process.env.NODE_ENV === "development") { throw new Error("getLocale() called before any locale has been set"); } else { return { locale: "unknown", messages: {} }; } } return loadedLocale; } export function isLocaleLoaded() { return !!loadedLocale; }