#async #pipeline #framework #bind #seq #ok #aseq

plumb

一个函数式、异步管道框架

2个不稳定版本

0.2.0 2021年9月15日
0.1.1 2021年9月7日
0.1.0 2021年9月6日

#1527 in 异步


用于 http-mux

自定义许可

28KB
846

plumb

管道框架

pub async fn test() -> Result<bool, f32> {
    async fn always_true(_a : i32, _b : i32, _s : &str) -> bool {
        true
    }

    id::<i32>()
    .bind(20 as i32)
    .bind("hello")
    .aseq(always_true)
    .tuple()
    .seq(|b : bool| {
        Ok((!b,))
    })
    .map(|b:bool| {
        !b
    })
    .map_tuple()
    .map_bind("abc")
    .amap(|_b:bool, _s : &str| async {
        false
    })
    .map_tuple()
    .and_then(|_| {
        Err(1.1)
    })
    .run(12).await
}

待办事项

  • 文档
  • map_err
  • or_* 方法
  • iter_parallel, fold_parallel

无运行时依赖