// License: LGPL-3.0-or-later import {shouldPolyfill} from '@formatjs/intl-pluralrules/should-polyfill'; import type {Polyfilled} from './types'; import getCanonicalLocales from './getCanonicalLocales'; type PolyfilledPluralRules = Polyfilled export default async function pluralRules(locales:string[]):Promise { await getCanonicalLocales(); if (shouldPolyfill()) { // Load the polyfill 1st BEFORE loading data await import('@formatjs/intl-pluralrules/polyfill'); } if ((Intl.PluralRules as PolyfilledPluralRules).polyfilled) { await Promise.all( locales.map(l => import("@formatjs/intl-pluralrules/locale-data/"+ l)) ); } }