1 unstable release
0.1.0 | Jun 29, 2023 |
---|
#1134 in Asynchronous
7KB
65 lines
Change stream
A Stream that only emits if the value is different.
Important
- The stream item is stored in the struct by Cloning so the stream Item must implement
Clone
- The comparison for the items is done via an equality check so the Item must implement
PartialEq
with itself
Example usage
- Add to your Cargo.toml file
[dependencies]
change_stream = "0.1.0"
- Import the
StreamChanged
trait and call.changed()
on an existing stream:
use change_stream::StreamChanged;
use futures::{stream::iter, StreamExt};
#[tokio::main]
async fn main() {
let a = iter([1, 1, 2]);
a.changed().for_each(|a| async move {
dbg!(a); //will only emit 1 and 2
}).await;
}
Dependencies
~1–1.6MB
~32K SLoC