frontend/.pnpm-store/v3/files/e5/e6fc564b1ee09cfbdc772b98c610a79c5252a5479f8ed5d107ef99ab6dcbef365b165b888edc6d050226094a577ac5cf80b60e00d14141f5c7edf4499cdd24-exec

26 lines
707 B
Plaintext
Executable File

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.BestAvailableLocale = void 0;
/**
* https://tc39.es/ecma402/#sec-bestavailablelocale
* @param availableLocales
* @param locale
*/
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);
}
}
exports.BestAvailableLocale = BestAvailableLocale;