Add ready_try_skip_while() to stream utils.
Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
@@ -3,7 +3,10 @@
|
|||||||
|
|
||||||
use futures::{
|
use futures::{
|
||||||
future::{Ready, ready},
|
future::{Ready, ready},
|
||||||
stream::{AndThen, TryFilterMap, TryFold, TryForEach, TryStream, TryStreamExt, TryTakeWhile},
|
stream::{
|
||||||
|
AndThen, TryFilterMap, TryFold, TryForEach, TrySkipWhile, TryStream, TryStreamExt,
|
||||||
|
TryTakeWhile,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::Result;
|
use crate::Result;
|
||||||
@@ -57,6 +60,13 @@ where
|
|||||||
where
|
where
|
||||||
F: FnMut(S::Ok) -> Result<(), E>;
|
F: FnMut(S::Ok) -> Result<(), E>;
|
||||||
|
|
||||||
|
fn ready_try_skip_while<F>(
|
||||||
|
self,
|
||||||
|
f: F,
|
||||||
|
) -> TrySkipWhile<Self, Ready<Result<bool, E>>, impl FnMut(&S::Ok) -> Ready<Result<bool, E>>>
|
||||||
|
where
|
||||||
|
F: Fn(&S::Ok) -> Result<bool, E>;
|
||||||
|
|
||||||
fn ready_try_take_while<F>(
|
fn ready_try_take_while<F>(
|
||||||
self,
|
self,
|
||||||
f: F,
|
f: F,
|
||||||
@@ -130,6 +140,17 @@ where
|
|||||||
self.try_for_each(move |t| ready(f(t)))
|
self.try_for_each(move |t| ready(f(t)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
fn ready_try_skip_while<F>(
|
||||||
|
self,
|
||||||
|
f: F,
|
||||||
|
) -> TrySkipWhile<Self, Ready<Result<bool, E>>, impl FnMut(&S::Ok) -> Ready<Result<bool, E>>>
|
||||||
|
where
|
||||||
|
F: Fn(&S::Ok) -> Result<bool, E>,
|
||||||
|
{
|
||||||
|
self.try_skip_while(move |t| ready(f(t)))
|
||||||
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn ready_try_take_while<F>(
|
fn ready_try_take_while<F>(
|
||||||
self,
|
self,
|
||||||
|
|||||||
Reference in New Issue
Block a user