Crate jstream_ext[−][src]
Introduction
Extensions to the Stream
and TryStream
traits
which implement behavior that I've implemented at least a few times while working with them.
To use these extensions, simply use
the JStreamExt
or
JTryStreamExt
items exported by this crate.
Summary
Here's a list of the various extensions provided by this crate:
Stream
Extensions
The extensions to Stream
are provided by the JStreamExt
trait.
dedup
- remove duplicate items from a streamfold_mut
- Similar tofold
, but asks for a(&mut T, Self::Item)
->Future<Output=()>
instead of a(T, Self::Item)
->Future<Output=T>
folding function.first
- turns a stream into a future which emits only the first item emitted by the source.nth
- turns a stream into a future which emits an item after skipping a specified number of preceding items.
TryStream
Extensions
The extensions to TryStream
are provided by the JTryStreamExt
trait.
try_first
- turns the stream into a future which emits only the first result emitted by the source.try_nth
- turns the stream into a future which emits an item after skipping a specified number of preceding items, or emits an error immediately when encountered.try_filter_map_ok
- similar tofilter_map
, except it allows you to filter-map on theOk
part of theTryStream
, and it emits any errors immediately when they are encountered.try_dedup
- remove duplicate items from a stream, but also emit any errors immediately when they are seen.fuse_on_fail
- if an error is seen, "fuse" the stream such that it panics iftry_poll_next
is called after anErr(Self::Error)
item is emitted. This also makes aTryStream
implementFusedStream
regardless if the source implements that trait.try_fold_mut
- Similar totry_fold
, but asks for a(&mut T, Self::Ok)
->Future<Output=Result<(), Self::Error>>
instead of a(T, Self::Ok)
->Future<Output=Result<T, Self::Error>>
folding function.
Modules
ops | The various structs which wrap various |
Traits
JStreamExt | Extensions to the |
JTryStreamExt | Extensions to the |