eventsource_stream/
traits.rs

1use crate::event_stream::EventStream;
2use futures_core::stream::Stream;
3
4/// Main entrypoint for creating [`crate::Event`] streams
5pub trait Eventsource: Sized {
6    /// Create an event stream from a stream of bytes
7    fn eventsource(self) -> EventStream<Self>;
8}
9
10impl<S, B, E> Eventsource for S
11where
12    S: Stream<Item = Result<B, E>>,
13    B: AsRef<[u8]>,
14{
15    fn eventsource(self) -> EventStream<Self> {
16        EventStream::new(self)
17    }
18}