recase

Crates.iorecase
lib.rsrecase
version0.3.0
sourcesrc
created_at2021-12-29 05:04:35.643293
updated_at2023-07-14 16:43:15.159976
descriptionChanges the convention case of input text.
homepagehttps://github.com/galatea21/recase
repositoryhttps://github.com/galatea21/recase
max_upload_size
id504653
size25,345
Thi Dinh (ThiDinh21)

documentation

https://docs.rs/recase

README

ReCase

crates-io api-docs Maintenance License

Changes the input text to the desired convention case.

 

Install

Add this to your Cargo.toml:

[dependencies]
recase = "0.3.0"

 

Example:

use recase::ReCase;

fn main() {
    const INPUT: &str = "Löng and meaningless-Ẽxample_Text";

    let recase1 = ReCase::new(INPUT);
    let recase2 = ReCase::new(String::from(INPUT));

    println!("{}", recase1.snake_case());     // Prints "löng_and_meaningless_ẽxample_text"
    println!("{}", recase2.camel_case());     // Prints "löngAndMeaninglessẼxampleText"
}

 

All supported convention cases:

  • camelCase
  • snake_case
  • PascalCase
  • kebab-case
  • dot.case
  • path/case
  • windows\path\case
  • normal case
  • Title Case
  • Sentence case
  • Header-Case
  • UPPER_CASE_SNAKE_CASE
  • aLtErNaTiNg CaSe

 

Limitations

  • The crate has not undergone any runtime optimization.
  • Some UTF-8 characters can't be lowercased, like "SS" which is the uppercased form of "ß". There might be more cases that I failed to notice.

 

Acknowledgements

Heavily influenced by ReCase from techniboogie-dart.

Commit count: 37

cargo fmt