#operator #stream #reactive

stream-operators

为Rust标准Stream收集选择的rxjs操作符

2个版本

0.1.1 2023年1月11日
0.1.0 2022年10月21日

#1297异步

MIT 许可证

20KB
391

流操作符

这是为Rust标准Stream收集的selected rxjs操作符。尽管这些操作符来自ReactiveX世界,但我并不试图为Rust重新发明可观察的生态系统。如果你需要这个,你可以使用rxrust。对于这个repom,我只是在尝试提供一套可以用于Stream的流操作符。

支持的操作符

  • debounce_time
  • distinct_until_changed
  • distinct
  • pluck:将每个源值映射到其指定的嵌套属性。
  • find:发出符合条件的第一项值。
  • find_index:发出符合条件的第一项值的索引。
  • group_by:根据指定的标准将Observable发出的项目分组,并作为GroupedObservables发出这些分组的项目,每个组一个GroupedObservable。
  • pairwise:发出前一个和当前值作为两个元素的数组。
  • partition:将源Observable拆分为两个,一个包含满足谓词的值,另一个包含不满足谓词的值。
  • sample_time:在周期性时间间隔内采样源Observable,发出自上次采样以来源Observable发出的最新值,除非源自上次采样以来没有发出任何值。
  • sequence_equal:确定两个Observable是否发出相同的项目序列。
  • throttle_time:从源Observable发出一个值,然后忽略后续源值一段时间,这段时间由另一个Observable确定,然后重复此过程。

tokio-stream支持的操作符

由 futures 支持的操作符

使用方法

请参阅每个操作符的测试。

依赖关系

~2.1–3MB
~49K SLoC