@formatjs/intl-enumerator
Version:
Intl.Enumerator polyfill
16 lines (15 loc) • 671 B
JavaScript
import { createMemoizedNumberFormat } from "@formatjs/ecma402-abstract";
import { numberingSystemNames } from "./numbering-systems.generated.js";
function isSupportedNumberingSystem(system, locale = "en") {
try {
const numberFormat = createMemoizedNumberFormat(`${locale}-u-nu-${system}`);
const options = numberFormat.resolvedOptions().numberingSystem;
if (options === system && system === "latn" || numberFormat.format(123) !== "123") {
return true;
}
} catch {}
return false;
}
export function getSupportedNumberingSystems(locale) {
return numberingSystemNames.filter((numberingSystemName) => isSupportedNumberingSystem(numberingSystemName, locale));
}