/async-hofs

Various extention traits for providing asynchronous higher-order functions

Primary LanguageRustMIT LicenseMIT

async-hofs

Various extention traits for providing asynchronous higher-order functions.

crates.io docs.rs MIT licensed CI Status

// This won't make any name conflicts since all imports inside prelude are anonymous.
use async_hofs::prelude::*;

assert_eq!(
    Some(1).async_map(|x| async move { x + 2 }).await,
    Some(3),
);

type Result = core::result::Result<i32, i32>;

assert_eq!(
    Result::Ok(1).async_and_then(|_| async move { Err(77) }).await,
    Result::Err(77)
);