streem 0.3.0

Simple utilities for creating and consuming streams
Documentation
use streem::IntoStreamer;

fn main() {
    futures_executor::block_on(async {
        let input_stream = std::pin::pin!(streem::from_fn(|yielder| async move {
            for i in 0..10 {
                yielder.yield_(i).await;
            }
        }));

        let map_stream = std::pin::pin!(streem::from_fn(|yielder| async move {
            let mut streamer = input_stream.into_streamer();

            while let Some(item) = streamer.next().await {
                yielder.yield_(item * 2).await;
            }
        }));

        let mut streamer = map_stream.into_streamer();

        while let Some(item) = streamer.next().await {
            println!("Yielded {item}");
        }
    })
}