Expand description
§Some To Err
This crate offers a pair of traits for effortlessly transforming Option into Result, elegantly converting Some values into Err while gracefully handling None values as Ok. Unleash the full potential of Rust’s error handling capabilities with these versatile traits.
§Usage
Add this to your crate by:
cargo add some-to-errOr add this to your Cargo.toml:
[dependencies]
some-to-err = "0.2.0"and then:
use some_to_err::ErrOr;
{
let some: Option<&str> = Some("Error");
let result = some.err_or(42);
assert_eq!(result, Err("Error"));
}
{
let none: Option<&str> = None;
let result = none.err_or(42);
assert_eq!(result, Ok(42));
}use some_to_err::ErrOrElse;
{
let input: Option<&str> = None;
let result = input.err_or_else(|| "Ok");
assert_eq!(result, Ok("Ok"));
}
{
let input = Some("Error");
let result = input.err_or_else(|| "Ok");
assert_eq!(result, Err("Error"));
}Traits§
- ErrOr
- The
SomeErrtrait provides a method for converting anOptioninto aResultby treatingSomevalues asErrandNonevalues asOk. - ErrOr
Else - The
SomeToErrElsetrait provides a convenient method to convert anOption<T>into aResult<OK, T>by supplying a closure that generates theOKvalue for theResultwhen the input isNone.