Lo_ as Lodash
A modern Rust utility library delivering modularity, performance & extras ported from JavaScript Lodash
Usage
Depend on lorust in Cargo.toml:
[dependencies]
lo_ = "0.2.0"
Example
Collection
use lo_::chunk;
fn main() {
let array = vec![1, 2, 3, 4, 5, 6, 7];
let size = 3;
let chunks = chunk(array, size);
println!("array chunks: {:?}", chunks); }
String
use lo_::camel_case;
fn main() {
let input = "Foo Bar";
let result = camel_case(input);
println!("{:?}", result); }
Implement the Transform trait to centralize string utilities, reduce boilerplate, and improve code clarity.
use lo_::Transform;
fn main() {
let input = "fred, barney, & pebbles";
println!("{:?}", input.words());
println!("{:?}", "Rust is awesome 🚀".to_slug());
let num: Option<i32> = "123".to_safe_parse();
println!("{:?}", num); }
General
use std::time::Duration;
use lo_::Retry;
fn might_fail(attempt: &mut i32) -> Result<&'static str, &'static str> {
*attempt += 1;
if *attempt < 3 {
Err("fail")
} else {
Ok("success")
}
}
fn main() {
let mut count = 0;
let result = Err::<&str, &str>("initial").retry(5, Duration::from_millis(50), || {
might_fail(&mut count)
});
println!("{:?}", result); }
For more details and API documentation, please visit:
https://docs.rs/lo_/latest/lo_/