import supportedLocales from 'app/i18n'; const localeToCountryCode = { en: 'gb', be: 'by', pt: 'br', uk: 'ua', vi: 'vn', sl: 'si', sr: 'rs', zh: 'cn', }; const SUPPORTED_LANGUAGES: string[] = Object.keys(supportedLocales); export default { getCountryList(): string[] { return SUPPORTED_LANGUAGES.map( locale => localeToCountryCode[locale] || locale, ); }, /** * Возвращает для указанной локали её флаг с учётом всех нюансов загрузки флага * и подбора соответствующего локали флага. * * @param {string} locale * * @returns {string} */ getIconUrl(locale: string): string { // eslint-disable-next-line @typescript-eslint/no-var-requires const mod = require(`flag-icon-css/flags/4x3/${localeToCountryCode[ locale ] || locale}.svg`); return mod.default || mod; }, };