3 个版本
0.0.3 | 2022 年 12 月 9 日 |
---|---|
0.0.2 | 2022 年 12 月 9 日 |
0.0.1 | 2022 年 12 月 8 日 |
#1944 在 Rust 模式
11KB
177 行
Tokio-Stream-Extra
扩展 Stream 特性的 crate。有关流的更多详细信息,请参阅 tokio-stream crate 以及 StreamExt 特性文档。
示例
分割
在分隔项处分割流的项目。分隔项由提供的闭包确定。将返回一个项目类型的向量流,它将生成元素,直到闭包返回 None
。
[tokio::main]
async fn main() {
use tokio_stream::{self as stream, StreamExt};
use tokio_stream_extra::StreamExtra;
let stream = stream::iter(vec![1,2,0,3,4,0]);
let mut stream = stream.split(|x| x == &0);
assert_eq!(stream.next().await, Some(vec![1,2]));
assert_eq!(stream.next().await, Some(vec![3,4]));
测试
测试覆盖率
export RUSTFLAGS="-Cinstrument-coverage"
export LLVM_PROFILE_FILE="./coverage/lib-%p-%m.profraw"
cargo build
cargo test
grcov ./coverage -s . --binary-path ./target/debug/ -t html --branch --ignore-not-existing -o ./target/debug/coverage/
open ./target/debug/coverage/index.html
基于属性的测试
该库使用基于属性的测试。它使用 quickcheck crate。
关于
代码在美丽的爱沙尼亚岛屿 Saaremaa 设计和编写。
依赖
~1–1.6MB
~33K SLoC