additional stream extensions for any/all
additional stream extension TryBroadbandExt Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
parent
c2d97aaa5e
commit
59d5e3ebf1
6 changed files with 121 additions and 5 deletions
|
@ -4,12 +4,16 @@ use futures::{
|
|||
StreamExt,
|
||||
};
|
||||
|
||||
use crate::{Error, Result};
|
||||
|
||||
pub trait IterStream<I: IntoIterator + Send> {
|
||||
/// Convert an Iterator into a Stream
|
||||
fn stream(self) -> impl Stream<Item = <I as IntoIterator>::Item> + Send;
|
||||
|
||||
/// Convert an Iterator into a TryStream
|
||||
fn try_stream(self) -> impl TryStream<Ok = <I as IntoIterator>::Item, Error = crate::Error> + Send;
|
||||
fn try_stream(
|
||||
self,
|
||||
) -> impl TryStream<Ok = <I as IntoIterator>::Item, Error = Error, Item = Result<<I as IntoIterator>::Item, Error>> + Send;
|
||||
}
|
||||
|
||||
impl<I> IterStream<I> for I
|
||||
|
@ -21,7 +25,10 @@ where
|
|||
fn stream(self) -> impl Stream<Item = <I as IntoIterator>::Item> + Send { stream::iter(self) }
|
||||
|
||||
#[inline]
|
||||
fn try_stream(self) -> impl TryStream<Ok = <I as IntoIterator>::Item, Error = crate::Error> + Send {
|
||||
fn try_stream(
|
||||
self,
|
||||
) -> impl TryStream<Ok = <I as IntoIterator>::Item, Error = Error, Item = Result<<I as IntoIterator>::Item, Error>> + Send
|
||||
{
|
||||
self.stream().map(Ok)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue