UNPKG

@formatjs/intl-enumerator

Version:
16 lines (15 loc) 671 B
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)); }