pub mod case;
pub trait Inflect {
fn to_upper_case(&self) -> String;
fn is_upper_case(&self) -> bool;
fn to_lower_case(&self) -> String;
fn is_lower_case(&self) -> bool;
fn to_sentence_case(&self) -> String;
fn is_sentence_case(&self) -> bool;
fn to_title_case(&self) -> String;
fn is_title_case(&self) -> bool;
fn to_camel_case(&self) -> String;
fn is_camel_case(&self) -> bool;
fn to_pascal_case(&self) -> String;
fn is_pascal_case(&self) -> bool;
fn to_kebab_case(&self) -> String;
fn is_kebab_case(&self) -> bool;
fn to_train_case(&self) -> String;
fn is_train_case(&self) -> bool;
fn to_snake_case(&self) -> String;
fn is_snake_case(&self) -> bool;
fn to_constant_case(&self) -> String;
fn is_constant_case(&self) -> bool;
}
impl Inflect for str {
#[inline] fn to_upper_case(&self) -> String { case::to_upper_case(self) }
#[inline] fn is_upper_case(&self) -> bool { case::is_upper_case(self) }
#[inline] fn to_lower_case(&self) -> String { case::to_lower_case(self) }
#[inline] fn is_lower_case(&self) -> bool { case::is_lower_case(self) }
#[inline] fn to_sentence_case(&self) -> String { case::to_sentence_case(self) }
#[inline] fn is_sentence_case(&self) -> bool { case::is_sentence_case(self) }
#[inline] fn to_title_case(&self) -> String { case::to_title_case(self) }
#[inline] fn is_title_case(&self) -> bool { case::is_title_case(self) }
#[inline] fn to_camel_case(&self) -> String { case::to_camel_case(self) }
#[inline] fn is_camel_case(&self) -> bool { case::is_camel_case(self) }
#[inline] fn to_pascal_case(&self) -> String { case::to_pascal_case(self) }
#[inline] fn is_pascal_case(&self) -> bool { case::is_pascal_case(self) }
#[inline] fn to_kebab_case(&self) -> String { case::to_kebab_case(self) }
#[inline] fn is_kebab_case(&self) -> bool { case::is_kebab_case(self) }
#[inline] fn to_train_case(&self) -> String { case::to_train_case(self) }
#[inline] fn is_train_case(&self) -> bool { case::is_train_case(self) }
#[inline] fn to_snake_case(&self) -> String { case::to_snake_case(self) }
#[inline] fn is_snake_case(&self) -> bool { case::is_snake_case(self) }
#[inline] fn to_constant_case(&self) -> String { case::to_constant_case(self) }
#[inline] fn is_constant_case(&self) -> bool { case::is_constant_case(self) }
}
#[cfg(test)]
mod test {
use super::Inflect;
#[test]
fn test_str() {
assert_eq!("foo".to_title_case(), "Foo".to_owned());
}
#[test]
fn test_string() {
assert_eq!("foo".to_owned().to_title_case(), "Foo".to_owned());
}
}