Skip to main content

ToLowerKebab

Trait ToLowerKebab 

Source
pub trait ToLowerKebab {
    // Required methods
    fn to_lower_kebab_canonical(&self) -> String;
    fn to_lower_kebab_decorated(&self) -> String;
}
Expand description

Converts an identifier into a preset lower-kebab identifier string.

See the convert module for more details.

Required Methods§

Source

fn to_lower_kebab_canonical(&self) -> String

Returns a displayable type that converts the provided input to lower kebab in canonical form.

See the fmt module documentation for details on different forms.

§Examples

Basic Usage:

assert_eq!(
    LowerCamelIdent::new("__lower__camel_case__")?
        .to_lower_kebab_canonical(),
    "lower-camel-case"
);
assert_eq!(
    LowerHybridIdent::new("_-lower-_hybrid-case-_")?
        .to_lower_kebab_canonical(),
    "lower-hybrid-case"
);
assert_eq!(
    LowerKebabIdent::new("--lower--kebab-case--")?
        .to_lower_kebab_canonical(),
    "lower-kebab-case"
);
assert_eq!(
    LowerSnakeIdent::new("__lower__snake_case__")?
        .to_lower_kebab_canonical(),
    "lower-snake-case"
);
assert_eq!(
    UpperCamelIdent::new("__Upper__Camel_Case__")?
        .to_lower_kebab_canonical(),
    "upper-camel-case"
);
assert_eq!(
    UpperHybridIdent::new("-_Upper_-Hybrid_Case_-")?
        .to_lower_kebab_canonical(),
    "upper-hybrid-case"
);
assert_eq!(
    UpperKebabIdent::new("--UPPER--KEBAB-CASE--")?
        .to_lower_kebab_canonical(),
    "upper-kebab-case"
);
assert_eq!(
    UpperSnakeIdent::new("__UPPER__SNAKE_CASE__")?
        .to_lower_kebab_canonical(),
    "upper-snake-case"
);

Notice that it will attempt to keep necessary prefix delimiters.

assert_eq!(
    UpperCamelIdent::new("_____")?
        .to_lower_kebab_canonical(),
    "-"
);
assert_eq!(
    UpperCamelIdent::new("__2__Example__Camel__")?
        .to_lower_kebab_canonical(),
    "-2-example-camel"
);
Source

fn to_lower_kebab_decorated(&self) -> String

Returns a displayable type that converts the provided input to lower kebab in decorated form.

See the fmt module documentation for details on different forms.

§Examples
assert_eq!(
    LowerCamelIdent::new("__lower__camel_case__")?
        .to_lower_kebab_decorated(),
    "--lower--camel-case--"
);
assert_eq!(
    LowerHybridIdent::new("_-lower-_hybrid-case-_")?
        .to_lower_kebab_decorated(),
    "--lower--hybrid-case--"
);
assert_eq!(
    LowerKebabIdent::new("--lower--kebab-case--")?
        .to_lower_kebab_decorated(),
    "--lower--kebab-case--"
);
assert_eq!(
    LowerSnakeIdent::new("__lower__snake_case__")?
        .to_lower_kebab_decorated(),
    "--lower--snake-case--"
);
assert_eq!(
    UpperCamelIdent::new("__Upper__Camel_Case__")?
        .to_lower_kebab_decorated(),
    "--upper--camel-case--"
);
assert_eq!(
    UpperHybridIdent::new("-_Upper_-Hybrid_Case_-")?
        .to_lower_kebab_decorated(),
    "--upper--hybrid-case--"
);
assert_eq!(
    UpperKebabIdent::new("--UPPER--KEBAB-CASE--")?
        .to_lower_kebab_decorated(),
    "--upper--kebab-case--"
);
assert_eq!(
    UpperSnakeIdent::new("__UPPER__SNAKE_CASE__")?
        .to_lower_kebab_decorated(),
    "--upper--snake-case--"
);

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<B: Boundary, D: Delimiter, P: Profile> ToLowerKebab for Ident<B, D, P>