12 lines
293 B
Rust
12 lines
293 B
Rust
use extension_traits::extension;
|
|
|
|
#[extension(pub trait OptionExt)]
|
|
impl<S> Option<S> {
|
|
async fn map_async<M, Fut: Future<Output = M>, F: FnOnce(S) -> Fut>(self, f: F) -> Option<M> {
|
|
match self {
|
|
Some(s) => Some(f(s).await),
|
|
None => None,
|
|
}
|
|
}
|
|
}
|