#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

#149 in #options

Download history 14/week @ 2024-11-13 28/week @ 2024-11-20 57/week @ 2024-11-27 74/week @ 2024-12-04 32/week @ 2024-12-11 8/week @ 2024-12-18 12/week @ 2025-01-01 10/week @ 2025-01-08 33/week @ 2025-01-15 47/week @ 2025-01-22 31/week @ 2025-02-05 21/week @ 2025-02-12 11/week @ 2025-02-19 10/week @ 2025-02-26

73 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