const CURRENCIES = ["USD", "EUR", "JPY", "INR", "NGN"];const NUMBER_UNITS = ["acre","bit","byte","celsius","centimeter","day","degree","fahrenheit","fluid-ounce","foot","gallon","gigabit","gigabyte","gram","hectare","hour","inch","kilobit","kilobyte","kilogram","kilometer","liter","megabit","megabyte","meter","microsecond","mile","mile-scandinavian","milliliter","millimeter","millisecond","minute","month","nanosecond","ounce","percent","petabyte","pound","second","stone","terabit","terabyte","week","yard","year",];function* numberFormatOptions() {const currencyDisplayOptions = ["symbol", "narrowSymbol", "code", "name"];const unitDisplayOptions = ["short", "long", "narrow"];for (const locale of LOCALES) {for (const currency of CURRENCIES) {for (const currencyDisplay of currencyDisplayOptions) {yield { locale, style: "currency", currency, currencyDisplay };}}for (const unit of NUMBER_UNITS.slice(0, 20)) {for (const unitDisplay of unitDisplayOptions) {yield { locale, style: "unit", unit, unitDisplay };}}yield { locale, style: "decimal" };yield { locale, style: "percent" };}}function runTest(verbose = false) {let lastResult;let totalLength = 0;const NUMBER_FORMAT_COUNT = 10;let counter = 1;for (const options of shuffleOptions(numberFormatOptions).slice(0, 200)) {const formatter = new Intl.NumberFormat(options.locale, options);if (verbose) {console.log(options.locale, JSON.stringify(options));}for (let i = 0; i < NUMBER_FORMAT_COUNT; i++) {counter += 599;const value = counter % 10_000;lastResult = formatter.format(value);if (verbose) {console.log(value, lastResult);}totalLength += lastResult.length;const formatPartsResult = formatter.formatToParts(value);for (const part of formatPartsResult) {totalLength += part.value.length;}}}return { lastResult, totalLength, expectedMinLength: 40_000 };}