@formatjs/intl-localematcher
Version:
Intl.LocaleMatcher ponyfill
25 lines (24 loc) • 678 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.BestAvailableLocale = BestAvailableLocale;
/**
* https://tc39.es/ecma402/#sec-bestavailablelocale
* @param availableLocales
* @param locale
*/
function BestAvailableLocale(availableLocales, locale) {
var candidate = locale;
while (true) {
if (availableLocales.indexOf(candidate) > -1) {
return candidate;
}
var pos = candidate.lastIndexOf('-');
if (!~pos) {
return undefined;
}
if (pos >= 2 && candidate[pos - 2] === '-') {
pos -= 2;
}
candidate = candidate.slice(0, pos);
}
}
;