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}