(languageCode)
| 53 | * @visibleForTesting |
| 54 | */ |
| 55 | export function getLanguageCodesFromString(languageCode) { |
| 56 | if (!languageCode) { |
| 57 | return ['en', FALLBACK_LANGUAGE_CODE]; |
| 58 | } |
| 59 | const matches = languageCode.match(LANGUAGE_CODE_CHUNK_REGEX) || []; |
| 60 | return matches.reduce( |
| 61 | (fallbackLanguageCodeList, chunk, index) => { |
| 62 | const fallbackLanguageCode = matches |
| 63 | .slice(0, index + 1) |
| 64 | .join('-') |
| 65 | .toLowerCase(); |
| 66 | fallbackLanguageCodeList.unshift(fallbackLanguageCode); |
| 67 | return fallbackLanguageCodeList; |
| 68 | }, |
| 69 | [FALLBACK_LANGUAGE_CODE] |
| 70 | ); |
| 71 | } |
| 72 | |
| 73 | /** |
| 74 | * Localization service. |
no outgoing calls
no test coverage detected