@puq/names
Version:
The String Names Library provides a simple names function that takes a string input and returns all possible naming convention variants, such as camelCase, snake_case, CONSTANT_CASE, and more. Perfect for tasks like code generation, formatting standardiza
32 lines (31 loc) • 941 B
JavaScript
export function pluralize(e) {
let s = e.toLowerCase(), i = {
child: 'children',
person: 'people',
man: 'men',
woman: 'women',
mouse: 'mice',
tooth: 'teeth',
foot: 'feet',
goose: 'geese',
ox: 'oxen',
cactus: 'cacti',
focus: 'foci',
radius: 'radii',
syllabus: 'syllabi'
};
return [
'fish',
'sheep',
'deer',
'moose',
'series',
'species',
'data',
'equipment',
'information',
'rice',
'money'
].includes(s) ? e : i[s] ? i[s] : s.endsWith('y') && !/[aeiou]y$/i.test(s) ? e.slice(0, -1) + 'ies' : s.endsWith('s') || s.endsWith('x') || s.endsWith('z') || s.endsWith('sh') || s.endsWith('ch') ? e + 'es' : s.endsWith('f') ? e.slice(0, -1) + 'ves' : s.endsWith('fe') ? e.slice(0, -2) + 'ves' : e + 's';
}
//# sourceMappingURL=pluralize.js.map