pub struct TryFlatMap<I>(_);
Expand description

Utility wrapper to flatten paginated results

When flattening paginated results, it’s most convenient to produce an iterator where the Result is present in each item. This provides items() which can wrap an stream of Result<Page, Err> and produce a stream of Result<Item, Err>.

Implementations§

source§

impl<I> TryFlatMap<I>

source

pub fn new(i: I) -> Self

Create a TryFlatMap that wraps the input

source

pub fn flat_map<M, Item, Iter, Page, Err>( self, map: M ) -> impl Stream<Item = Result<Item, Err>>where I: Stream<Item = Result<Page, Err>>, M: Fn(Page) -> Iter, Iter: IntoIterator<Item = Item>,

Produce a new Stream by mapping this stream with map then flattening the result

Trait Implementations§

source§

impl<I: Debug> Debug for TryFlatMap<I>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<I> RefUnwindSafe for TryFlatMap<I>where I: RefUnwindSafe,

§

impl<I> Send for TryFlatMap<I>where I: Send,

§

impl<I> Sync for TryFlatMap<I>where I: Sync,

§

impl<I> Unpin for TryFlatMap<I>where I: Unpin,

§

impl<I> UnwindSafe for TryFlatMap<I>where I: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.