#options #utilities #collection

option-utils

A collection of utilities for working with Rust's Option type

1 unstable release

0.1.0 May 5, 2023

#93 in #options

Download history 44/week @ 2024-01-08 34/week @ 2024-01-15 30/week @ 2024-01-22 16/week @ 2024-01-29 37/week @ 2024-02-05 38/week @ 2024-02-12 51/week @ 2024-02-19 72/week @ 2024-02-26 65/week @ 2024-03-04 64/week @ 2024-03-11 61/week @ 2024-03-18 107/week @ 2024-03-25 97/week @ 2024-04-01 69/week @ 2024-04-08 48/week @ 2024-04-15 66/week @ 2024-04-22

298 downloads per month
Used in 21 crates (3 directly)

Apache-2.0

5KB
64 lines

option-utils

A collection of utilities for working with Rust's Option type

Example

use option_utils::OptionUtils;
let mut x = Some("Hello world".to_owned());
x.inner_mut(|s| s.push('!'));
assert_eq!(x, Some("Hello world!".to_owned()));

let path = Some("dir");
let path: Option<std::path::PathBuf> = path.map_into();
assert_eq!(path, Some(std::path::Path::new("dir").to_owned()));

let num = Some(10_u64);
let num: Option<u8> = num.try_map_into()?;
assert_eq!(num, Some(10_u8));```

## License

This project is licensed under the Apache-2.0 license.

lib.rs:

A collection of utilities for working with Rust's Option type.

Example

use option_utils::OptionUtils;

let mut x = Some("Hello world".to_owned());
x.inner_mut(|s| s.push('!'));
assert_eq!(x, Some("Hello world!".to_owned()));

let path = Some("dir");
let path: Option<std::path::PathBuf> = path.map_into();
assert_eq!(path, Some(std::path::Path::new("dir").to_owned()));

let num = Some(10_u64);
let num: Option<u8> = num.try_map_into().unwrap();
assert_eq!(num, Some(10_u8));

License

This project is licensed under the Apache-2.0 license.

No runtime deps