one
Version:
One is a React framework for web, iOS, and Android apps.
60 lines (58 loc) • 2.03 kB
JavaScript
function toLocale(info) {
return {
languageTag: info.languageTag,
languageCode: info.languageCode ?? null,
languageScriptCode: info.languageScriptCode ?? null,
regionCode: info.regionCode ?? null,
languageRegionCode: info.languageRegionCode ?? null,
currencyCode: info.currencyCode ?? null,
currencySymbol: info.currencySymbol ?? null,
languageCurrencyCode: info.languageCurrencyCode ?? null,
languageCurrencySymbol: info.languageCurrencySymbol ?? null,
decimalSeparator: info.decimalSeparator ?? null,
digitGroupingSeparator: info.digitGroupingSeparator ?? null,
textDirection: info.textDirection === "rtl" ? "rtl" : "ltr",
measurementSystem: info.measurementSystem === "metric" || info.measurementSystem === "us" || info.measurementSystem === "uk" ? info.measurementSystem : null,
temperatureUnit: info.temperatureUnit === "celsius" || info.temperatureUnit === "fahrenheit" ? info.temperatureUnit : null
};
}
function toCalendar(info) {
return {
calendar: info.calendar ?? null,
timeZone: info.timeZone ?? null,
uses24hourClock: info.uses24hourClock ?? null,
firstWeekday: info.firstWeekday ?? null
};
}
const FALLBACK_LOCALE = {
languageTag: "en-US",
languageCode: "en",
languageScriptCode: null,
regionCode: "US",
languageRegionCode: "US",
currencyCode: null,
currencySymbol: null,
languageCurrencyCode: null,
languageCurrencySymbol: null,
decimalSeparator: null,
digitGroupingSeparator: null,
textDirection: "ltr",
measurementSystem: null,
temperatureUnit: null
};
const FALLBACK_CALENDAR = {
calendar: "gregory",
timeZone: null,
uses24hourClock: null,
firstWeekday: null
};
function toLocales(infos) {
const locales = infos.map(toLocale);
return locales.length > 0 ? locales : [FALLBACK_LOCALE];
}
function toCalendars(infos) {
const calendars = infos.map(toCalendar);
return calendars.length > 0 ? calendars : [FALLBACK_CALENDAR];
}
export { FALLBACK_CALENDAR, FALLBACK_LOCALE, toCalendar, toCalendars, toLocale, toLocales };
//# sourceMappingURL=map.mjs.map