stream_transform 1.0.0 stream_transform: ^1.0.0 copied to clipboard
A collection of utilities to transform and manipulate streams.
1.0.0 #
- Remove the top level methods and retain the extensions only.
0.0.20 #
-
Add extension methods for most transformers. These should be used in place of the current methods. All current implementations are deprecated and will be removed in the next major version bump.
- Migrating typical use: Instead of
stream.transform(debounce(Duration(seconds: 1)))
usestream.debounce(Duration(seconds: 1))
. - To migrate a usage where a
StreamTransformer
instance is stored or passed see "Getting a StreamTransformer instance" on the README.
- Migrating typical use: Instead of
-
The
map
andchainTransformers
utilities are no longer useful with the new patterns so they are deprecated without a replacement. If you still have a need for them they can be replicated withStreamTransformer.fromBind
:// Replace `map(convert)` StreamTransformer.fromBind((s) => s.map(convert)); // Replace `chainTransformers(first, second)` StreamTransformer.fromBind((s) => s.transform(first).transform(second));
0.0.19 #
- Add
asyncMapSample
transform.
0.0.18 #
- Internal cleanup. Passed "trigger" streams or futures now allow
<void>
generic type rather than an implicitdynamic>
0.0.17 #
- Add concrete types to the
onError
callback intap
.
0.0.16+1 #
- Remove usage of Set literal which is not available before Dart 2.2.0
0.0.16 #
- Allow a
combine
callback to return aFutureOr<T>
inscan
. There are no behavior changes for synchronous callbacks. Potential breaking change In the unlikely situation wherescan
was used to produce aStream<Future>
inference may now fail and require explicit generic type arguments. - Add
combineLatest
. - Add
combineLatestAll
.
0.0.15 #
- Add
whereType
.
0.0.14+1 #
- Allow using non-dev Dart 2 SDK.
0.0.14 #
asyncWhere
will now forward exceptions thrown by the callback through the result Stream.- Added
concurrentAsyncMap
.
0.0.13 #
mergeAll
now accepts anIterable<Stream>
instead of onlyList<Stream>
.
0.0.12 #
- Add
chainTransformers
andmap
for use cases whereStreamTransformer
instances are stored as variables or passed to methods other thantransform
.
0.0.11 #
- Renamed
concat
asfollowedBy
to match the naming ofIterable.followedBy
.concat
is now deprecated.
0.0.10 #
-
Updates to support Dart 2.0 core library changes (wave 2.2). See issue 31847 for details.
0.0.9 #
- Add
asyncMapBuffer
.
0.0.8 #
- Add
takeUntil
.
0.0.7 #
- Bug Fix: Streams produced with
scan
andswitchMap
now correctly reportisBroadcast
. - Add
startWith
,startWithMany
, andstartWithStream
.
0.0.6 #
- Bug Fix: Some transformers did not correctly add data to all listeners on
broadcast streams. Fixed for
throttle
,debounce
,asyncWhere
andaudit
. - Bug Fix: Only call the
tap
data callback once per event rather than once per listener. - Bug Fix: Allow canceling and re-listening to broadcast streams after a
merge
transform. - Bug Fix: Broadcast streams which are buffered using a single-subscription trigger can be canceled and re-listened.
- Bug Fix: Buffer outputs one more value if there is a pending trigger before the trigger closes.
- Bug Fix: Single-subscription streams concatted after broadcast streams are handled correctly.
- Use sync
StreamControllers
for forwarding where possible.
0.0.5 #
- Bug Fix: Allow compiling switchLatest with Dart2Js.
- Add
asyncWhere
: Likewhere
but allows an asynchronous predicate.
0.0.4 #
- Add
scan
: fold which returns intermediate values - Add
throttle
: block events for a duration after emitting a value - Add
audit
: emits the last event received after a duration
0.0.3 #
- Add
tap
: React to values as they pass without being a subscriber on a stream - Add
switchMap
andswitchLatest
: Flatten a Stream of Streams into a Stream which forwards values from the most recent Stream
0.0.2 #
- Add
concat
: Appends streams in series - Add
merge
andmergeAll
: Interleaves streams
0.0.1 #
- Initial release with the following utilities:
buffer
: Collects events in aList
until atrigger
stream fires.debounce
,debounceBuffer
: Collect or drop events which occur closer in time than a given duration.