Utility methods to create
StreamTransfomer instances to manipulate Streams.
asyncMap but events are buffered in a List until previous events have
been processed rather than being called for each element individually.
where but allows an asynchronous predicate.
Audit waits for a period of time after receiving a value and then only emits the most recent value.
Collects values from a source stream until a
trigger stream fires and the
collected values are emitted.
Prevents a source stream from emitting too frequently by dropping or collecting values that occur within a given duration.
asyncMap but the convert callback can be called with subsequent values
before it has finished for previous values.
Appends the values of a stream after another stream finishes.
Interleaves events from multiple streams into a single stream.
Scan is like fold, but instead of producing a single value it yields each intermediate accumulation.
Prepend a value, an iterable, or a stream to the beginning of another stream.
Flatten a Stream of Streams into a Stream which forwards values from the most recent Stream
Let values through until a Future fires.
Taps into a single-subscriber stream to react to values as they pass, without being a real subscriber.
Blocks events for a duration after an event is successfully emitted.
Iterable.whereType for a stream.
asyncWherewill now forward exceptions thrown by the callback through the result Stream.
mergeAllnow accepts an
Iterable<Stream>instead of only
mapfor use cases where
StreamTransformerinstances are stored as variables or passed to methods other than
followedByto match the naming of
concatis now deprecated.
Updates to support Dart 2.0 core library changes (wave 2.2). See issue 31847 for details.
switchMapnow correctly report
tapdata callback once per event rather than once per listener.
StreamControllersfor forwarding where possible.
wherebut allows an asynchronous predicate.
scan: fold which returns intermediate values
throttle: block events for a duration after emitting a value
audit: emits the last event received after a duration
tap: React to values as they pass without being a subscriber on a stream
switchLatest: Flatten a Stream of Streams into a Stream which forwards values from the most recent Stream
concat: Appends streams in series
mergeAll: Interleaves streams
buffer: Collects events in a
debounceBuffer: Collect or drop events which occur closer in time than a given duration.
Add this to your package's pubspec.yaml file:
dependencies: stream_transform: ^0.0.15
You can install packages from the command line:
$ pub get
$ flutter packages get
Alternatively, your editor might support
pub get or
flutter packages get.
Check the docs for your editor to learn more.
Now in your Dart code, you can use:
|0.0.15||Feb 12, 2019|
|0.0.14+1||Jul 18, 2018|
|0.0.14||Jun 13, 2018|
|0.0.13||Jun 8, 2018|
|0.0.12||Jun 1, 2018|
|0.0.11||Mar 26, 2018|
|0.0.10||Feb 1, 2018|
|0.0.9||Aug 7, 2017|
|0.0.8||Aug 4, 2017|
|0.0.7||Jul 12, 2017|
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
We analyzed this package on Feb 14, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:
Detected platforms: Flutter, web, other
No platform restriction found in primary library
Maintain an example. (-10 points)
Create a short demo in the
example/ directory to show how to use this package.
Common filename patterns include
stream_transform.dart. Packages with multiple examples should provide
For more information see the pub package layout conventions.
Package is pre-v0.1 release. (-10 points)
While nothing is inherently wrong with versions of
0.0.*, it might mean that the author is still experimenting with the general direction of the API.
|Dart SDK||>=2.1.0 <3.0.0|