format method
Implementation
@override
Future<String?> format(int number, [String? localeCode]) async {
//https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/PluralRules
var locale = localeCode?.replaceAll('_', '-');
var ordinalRules = getOrdinalRules(number, locale);
if (ordinalRules == null && (locale?.contains('-') ?? false)) {
locale = locale?.split('-')[0];
ordinalRules = getOrdinalRules(number, locale);
}
if (ordinalRules == null) {
locale = defaultLocale;
ordinalRules ??= getOrdinalRules(number, locale);
}
final suffix = ordinalSuffixes[locale]?[ordinalRules];
if (suffix == null) {
return null;
}
return '$number$suffix';
}