frontend/.pnpm-store/v3/files/b9/51fc93e7da24a214be292969ee26ab7af22d9c843e4cbda9c6c3cea6675bb9499cd8d99cbe68ffbec8ea78bd4a35be5f5803f2fbb3d8a336bc73e4ed0bb4f4-exec

22 lines
548 B
Plaintext
Executable File

/**
* https://tc39.es/ecma402/#sec-bestavailablelocale
* @param availableLocales
* @param locale
*/
export function BestAvailableLocale(availableLocales, locale) {
var candidate = locale;
while (true) {
if (availableLocales.has(candidate)) {
return candidate;
}
var pos = candidate.lastIndexOf('-');
if (!~pos) {
return undefined;
}
if (pos >= 2 && candidate[pos - 2] === '-') {
pos -= 2;
}
candidate = candidate.slice(0, pos);
}
}