pub struct StateConverter<'a, T: AsRef<str>> { /* private fields */ }
Expand description

Holds information about parsing before converting into a case.

This struct is used when invoking the from_case and with_boundaries methods on Casing. For a more fine grained approach to case conversion, consider using the Converter struct.

use convert_case::{Case, Casing};

let title = "ninety-nine_problems".from_case(Case::Snake).to_case(Case::Title);
assert_eq!("Ninety-nine Problems", title);

Implementations

Uses the boundaries associated with case for word segmentation. This will overwrite any boundary information initialized before. This method is likely not useful, but provided anyway.

use convert_case::{Case, Casing};

let name = "Chuck Schuldiner"
    .from_case(Case::Snake) // from Casing trait
    .from_case(Case::Title) // from StateConverter, overwrites previous
    .to_case(Case::Kebab);
assert_eq!("chuck-schuldiner", name);

Overwrites boundaries for word segmentation with those provided. This will overwrite any boundary information initialized before. This method is likely not useful, but provided anyway.

use convert_case::{Boundary, Case, Casing};

let song = "theHumbling river-puscifer"
    .from_case(Case::Kebab) // from Casing trait
    .with_boundaries(&[Boundary::Space, Boundary::LowerUpper]) // overwrites `from_case`
    .to_case(Case::Pascal);
assert_eq!("TheHumblingRiver-puscifer", song);  // doesn't split on hyphen `-`

Removes any boundaries that were already initialized. This is particularly useful when a case like Case::Camel has a lot of associated word boundaries, but you want to exclude some.

use convert_case::{Boundary, Case, Casing};

assert_eq!(
    "2d_transformation",
    "2dTransformation"
        .from_case(Case::Camel)
        .without_boundaries(&Boundary::digits())
        .to_case(Case::Snake)
);

Consumes the StateConverter and returns the converted string.

use convert_case::{Boundary, Case, Casing};

assert_eq!(
    "ice-cream social",
    "Ice-Cream Social".from_case(Case::Title).to_case(Case::Lower)
);

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.