Convert a camelCase string to a separated lower-case string.
fooBar → foo_bar, unicornsAndRainbows → unicorns_and_rainbows,
XMLHttpRequest → xml_http_request. A faithful Rust port of the widely-used
decamelize npm package.
- Zero dependencies,
#![no_std] - Custom separator and a
preserveConsecutiveUppercasemode - Differential-tested against the reference
decamelizeimplementation
[dependencies]
decamelize = "0.1"use decamelize::{decamelize, decamelize_with};
assert_eq!(decamelize("unicornsAndRainbows"), "unicorns_and_rainbows");
assert_eq!(decamelize("testGUILabel"), "test_gui_label");
assert_eq!(decamelize("p2pNetwork"), "p2p_network");
// Custom separator:
assert_eq!(decamelize_with("fooBar", "-", false), "foo-bar");
assert_eq!(decamelize_with("unicornsAndRainbows", " ", false), "unicorns and rainbows");
// Preserve consecutive uppercase runs:
assert_eq!(decamelize_with("testGUILabel", "_", true), "test_GUI_label");
assert_eq!(decamelize_with("XMLHttpRequest", "_", true), "XML_http_request");This project follows the all-contributors specification. Contributions of any kind are welcome — code, docs, bug reports, ideas, reviews! See the emoji key for how each contribution is recognized, and open a PR or issue to get involved.
Thanks goes to these wonderful people:
Tung Tran 💻 🚧 |
Licensed under either of MIT or Apache-2.0 at your option.