pub fn plural<T, F>(input: T) -> F
where
    T: Into<String>,
    F: From<String>,
{
    let m = input.into();
    if let Ok(s) = COMPILED_PLURAL_MAPS.read() {
        for x in s.iter() {
            if x.regex.is_match(&m) {
                return From::from(x.regex.replace(&m, x.replace.as_str()).to_string());
            }
        }
    }

    From::from(m)
}
/// plural converts a word to its plural form.
/// # example
/// ```
/// use inflection::plural;
///
/// assert_eq!(plural::<_, String>("person"), "people".to_string());
/// assert_eq!(plural::<_, String>("Person"), "People".to_string());
/// assert_eq!(plural::<_, String>("PERSON"), "PEOPLE".to_string());
/// assert_eq!(plural::<_, String>("bus"), "buses".to_string());
/// assert_eq!(plural::<_, String>("BUS"), "BUSES".to_string());
/// assert_eq!(plural::<_, String>("Bus"), "Buses".to_string());
/// assert_eq!(plural::<_, String>("FancyPerson"), "FancyPeople".to_string());
/// ```
plural converts a word to its plural form.
plural converts a word to its plural form .
pub fn plural<T, F>(input: T) -> F
where
    T: Into<String>,
    F: From<String>,
{
    let m = input.into();
    if let Ok(s) = COMPILED_PLURAL_MAPS.read() {
        for x in s.iter() {
            if x.regex.is_match(&m) {
                return From::from(x.regex.replace(&m, x.replace.as_str()).to_string());
            }
        }
    }
    From::from(m)
}
pub fn plural < T , F > ( input : T ) -> F where T : Into < String > , F : From < String > , { let m = input . into ( ) ; if let Ok ( s ) = COMPILED_PLURAL_MAPS . read ( ) { for x in s . iter ( ) { if x . regex . is_match ( & m ) { return From :: from ( x . regex . replace ( & m , x . replace . as_str ( ) ) . to_string ( ) ) ; } } } From :: from ( m ) }
plural converts a word to its plural form.
plural converts a word to its plural form .
input
T
input
T
example
```
use inflection::plural.


` ` ` use inflection :: plural .