commit | f6689d914dab51bc568700b829595c6c17092754 | [log] [tgz] |
---|---|---|
author | Maurice Lam <yukl@google.com> | Thu Mar 02 22:57:26 2023 +0000 |
committer | Maurice Lam <yukl@google.com> | Fri Mar 03 00:52:21 2023 +0000 |
tree | 9c8ddf1676d5e8bde86fa4b5bf4ad06aa857bdb1 | |
parent | c6ca0de9dec2c9c423fd8833f6058f39961d7672 [diff] |
Revert "Run cargo2android on inflector" Revert submission 2428041-ouroboros-import Reason for revert: b/271004059 Reverted changes: /q/submissionid:2428041-ouroboros-import Change-Id: I15836a903983d3547a811ade8cc3af91e523b363
Adds String based inflections for Rust. Snake, kebab, train, camel, sentence, class, and title cases as well as ordinalize, deordinalize, demodulize, deconstantize, foreign key, table case, and pluralize/singularize are supported as both traits and pure functions acting on &str and String types.
Documentation can be found here at the README or via rust docs below.
[dependencies] Inflector = "*"
... // to use methods like String.to_lower_case(); extern crate inflector; use inflector::Inflector; ... fn main() { ... let camel_case_string: String = "some_string".to_camel_case(); ... }
Or
... // to use methods like to_snake_case(&str); extern crate inflector; // use inflector::cases::classcase::to_class_case; // use inflector::cases::classcase::is_class_case; // use inflector::cases::camelcase::to_camel_case; // use inflector::cases::camelcase::is_camel_case; // use inflector::cases::pascalcase::to_pascal_case; // use inflector::cases::pascalcase::is_pascal_case; // use inflector::cases::screamingsnakecase::to_screamingsnake_case; // use inflector::cases::screamingsnakecase::is_screamingsnake_case; // use inflector::cases::snakecase::to_snake_case; // use inflector::cases::snakecase::is_snake_case; // use inflector::cases::kebabcase::to_kebab_case; // use inflector::cases::kebabcase::is_kebab_case; // use inflector::cases::traincase::to_train_case; // use inflector::cases::traincase::is_train_case; // use inflector::cases::sentencecase::to_sentence_case; // use inflector::cases::sentencecase::is_sentence_case; // use inflector::cases::titlecase::to_title_case; // use inflector::cases::titlecase::is_title_case; // use inflector::cases::tablecase::to_table_case; // use inflector::cases::tablecase::is_table_case; // use inflector::numbers::ordinalize::ordinalize; // use inflector::numbers::deordinalize::deordinalize; // use inflector::suffix::foreignkey::to_foreign_key; // use inflector::suffix::foreignkey::is_foreign_key; // use inflector::string::demodulize::demodulize; // use inflector::string::deconstantize::deconstantize; // use inflector::string::pluralize::to_plural; // use inflector::string::singularize::to_singular; ... fn main() { ... let camel_case_string: String = to_camel_case("some_string"); ... }
If the project doesn't require singularize, pluralize, class, table, demodulize, deconstantize. Then in your cargo.toml
you may wish to specify:
[dependencies.Inflector] version = "*" default-features = false
Or
Inflector = {version="*", default-features=false}
To test this crate locally with features off try:
cargo test --no-default-features
This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.