UNPKG

@formatjs/intl-localematcher

Version:
25 lines (24 loc) 678 B
"use strict"; 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); } }