UNPKG

@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
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