make method
Implementation
String make(String singular) {
if (singular.isEmpty) return singular;
if (singular.endsWith('ies') ||
singular.endsWith('ses') ||
singular.endsWith('xes') ||
singular.endsWith('zes') ||
singular.endsWith('ches') ||
singular.endsWith('shes') ||
singular.endsWith('oes')) {
return singular;
}
if (irregulars.containsKey(singular.toLowerCase())) {
String plural = irregulars[singular.toLowerCase()]!;
if (singular[0].toUpperCase() == singular[0]) {
return plural[0].toUpperCase() + plural.substring(1);
}
return plural;
}
if (singular.endsWith('y') &&
singular.length > 1 &&
!_isVowel(singular[singular.length - 2])) {
return '${singular.substring(0, singular.length - 1)}ies';
}
if (singular.endsWith('s') ||
singular.endsWith('x') ||
singular.endsWith('z') ||
singular.endsWith('ch') ||
singular.endsWith('sh') ||
(singular.endsWith('o') && !_isVowelBeforeO(singular))) {
return '${singular}es';
}
return '${singular}s';
}