(value: string)
| 269 | * @throws {Error} If the provided locale code is invalid. |
| 270 | */ |
| 271 | export const resolveLocaleCode = (value: string): LocaleCodeFull => { |
| 272 | const existingFullLocaleCode = Object.values(localeMap) |
| 273 | .flat() |
| 274 | .includes(value as any); |
| 275 | if (existingFullLocaleCode) { |
| 276 | return value as LocaleCodeFull; |
| 277 | } |
| 278 | |
| 279 | const existingShortLocaleCode = Object.keys(localeMap).includes(value); |
| 280 | if (existingShortLocaleCode) { |
| 281 | const correspondingFullLocales = localeMap[value as LocaleCodeShort]; |
| 282 | const fallbackFullLocale = correspondingFullLocales[0]; |
| 283 | return fallbackFullLocale; |
| 284 | } |
| 285 | |
| 286 | throw new Error(`Invalid locale code: ${value}`); |
| 287 | }; |
| 288 | |
| 289 | /** |
| 290 | * Determines the delimiter used in a locale code |
no outgoing calls
no test coverage detected