pub struct TryFlatMap<Page, Err>(/* private fields */);
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<Page, Err> TryFlatMap<Page, Err>

source

pub fn new(stream: PaginationStream<Result<Page, Err>>) -> Self

Creates a TryFlatMap that wraps the input.

source

pub fn flat_map<M, Item, Iter>( self, map: M ) -> PaginationStream<Result<Item, Err>>where Page: Send + 'static, Err: Send + 'static, M: Fn(Page) -> Iter + Send + 'static, Item: Send + 'static, Iter: IntoIterator<Item = Item> + Send, <Iter as IntoIterator>::IntoIter: Send,

Produces a new PaginationStream by mapping this stream with map then flattening the result.

Trait Implementations§

source§

impl<Page: Debug, Err: Debug> Debug for TryFlatMap<Page, Err>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<Page, Err> !RefUnwindSafe for TryFlatMap<Page, Err>

§

impl<Page, Err> Send for TryFlatMap<Page, Err>where Err: Send, Page: Send,

§

impl<Page, Err> !Sync for TryFlatMap<Page, Err>

§

impl<Page, Err> Unpin for TryFlatMap<Page, Err>

§

impl<Page, Err> !UnwindSafe for TryFlatMap<Page, Err>

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,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

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.
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.
source§

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

Performs the conversion.