// @ts-expect-error - not present in Runner dependencies import * as RNLocalize from 'react-native-localize' import memoizeOne from 'memoize-one' import { defaultLocale, defaultLanguageCode } from './locale' import { formatTimezone } from './timezone-backwards' const getUserLocaleUnmemoized = (): string => { const locales = RNLocalize.getLocales() const locale = locales[0].languageTag return locale ?? defaultLocale } export const getUserLocale = memoizeOne(getUserLocaleUnmemoized) const getUserLanguageCodeUnmemoized = (): string => { const locales = RNLocalize.getLocales() const locale = locales[0].languageCode return locale ?? defaultLanguageCode } export const getUserLanguageCode = memoizeOne(getUserLanguageCodeUnmemoized) const getTimezoneUnmemoized = () => formatTimezone(RNLocalize.getTimeZone()) export const getTimezone = memoizeOne(getTimezoneUnmemoized)