pub fn singularize(word: &str) -> StringExpand description
Convert a plural English word to its singular form.
This function handles:
- Irregular plurals (children → child, people → person, etc.)
- Uncountable nouns (sheep, fish, etc.) - returned unchanged
- Standard suffix rules:
-ies→-y(dependencies → dependency)-ves→-for-fe(wolves → wolf, knives → knife)-es→ remove-esfor words ending in s, x, z, ch, sh (boxes → box)-s→ remove-s(items → item)
§Examples
use facet_singularize::singularize;
// Irregular
assert_eq!(singularize("children"), "child");
assert_eq!(singularize("people"), "person");
assert_eq!(singularize("mice"), "mouse");
// Standard rules
assert_eq!(singularize("dependencies"), "dependency");
assert_eq!(singularize("boxes"), "box");
assert_eq!(singularize("items"), "item");
assert_eq!(singularize("wolves"), "wolf");
// Uncountable (unchanged)
assert_eq!(singularize("sheep"), "sheep");
assert_eq!(singularize("fish"), "fish");