polars_utils/option.rs
1pub trait OptionTry<T>: Sized {
2 fn try_map<U, E>(self, f: impl FnOnce(T) -> Result<U, E>) -> Result<Option<U>, E>;
3}
4
5impl<T> OptionTry<T> for Option<T> {
6 fn try_map<U, E>(self, f: impl FnOnce(T) -> Result<U, E>) -> Result<Option<U>, E> {
7 match self {
8 None => Ok(None),
9 Some(v) => f(v).map(Some),
10 }
11 }
12}