stream_transform
A collection of utilities to transform and manipulate streams.
2.1.1
5.8M downloads/mo
#129 most downloaded on pub.dev
dart-lang/tools
What this package is like to depend on
Last release 2 years ago
no release in 18 months
Ships unpredictably
gaps range from 2 weeks to 2.1 years
Nearly every release is documented
notes for 29 of 29 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
30 releases · first in 2017
0 releases in the last 12 months
see the full history below
Release timeline
30 releases · May 2017 to Dec 2024Releases
latest 30-
2.1.117 Dec 2024Release notes
Open source →- Require Dart 3.1 or greater
- Forward errors from the
triggerfuture through to the result stream intakeUntil. Previously an error would have not closed the stream, and instead raised as an unhandled async error. - Move to
dart-lang/toolsmonorepo.
-
2.1.003 Nov 2022 -
2.0.105 Oct 2022Release notes
Open source →- Require Dart 2.14 or greater.
- Wait for the future returned from
StreamSubscription.cancel()before listening to the subsequent stream inswitchLatestandswitchMap.
-
2.0.008 Feb 2021Release notes
Open source →- Migrate to null safety.
- Improve tests of
switchMapand improve documentation with links and clarification. - Add
trailingargument tothrottle.
-
2.0.0-nullsafety.013 Jan 2021 pre-releaseNothing published for this version
-
1.2.026 Feb 2020 -
1.1.003 Dec 2019Release notes
Open source →- Add
concurrentAsyncExpandto interleave events emitted by multiple sub streams created by a callback.
- Add
-
1.0.020 Nov 2019 -
0.0.2005 Nov 2019Release notes
Open source →-
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
StreamTransformerinstance is stored or passed see "Getting a StreamTransformer instance" on the README.
- Migrating typical use: Instead of
-
The
mapandchainTransformersutilities 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.1903 May 2019 -
0.0.1829 Apr 2019Release notes
Open source →- Internal cleanup. Passed "trigger" streams or futures now allow
<void>generic type rather than an implicitdynamic>
- Internal cleanup. Passed "trigger" streams or futures now allow
-
0.0.1726 Mar 2019 -
0.0.1612 Mar 2019Release notes
Open source →- Allow a
combinecallback to return aFutureOr<T>inscan. There are no behavior changes for synchronous callbacks. Potential breaking change In the unlikely situation wherescanwas used to produce aStream<Future>inference may now fail and require explicit generic type arguments. - Add
combineLatest. - Add
combineLatestAll.
- Allow a
-
0.0.16+113 Mar 2019 -
0.0.1512 Feb 2019 -
0.0.1413 Jun 2018Release notes
Open source →asyncWherewill now forward exceptions thrown by the callback through the result Stream.- Added
concurrentAsyncMap.
-
0.0.14+118 Jul 2018 -
0.0.1308 Jun 2018 -
0.0.1201 Jun 2018Release notes
Open source →- Add
chainTransformersandmapfor use cases whereStreamTransformerinstances are stored as variables or passed to methods other thantransform.
- Add
-
0.0.1126 Mar 2018Release notes
Open source →- Renamed
concatasfollowedByto match the naming ofIterable.followedBy.concatis now deprecated.
- Renamed
-
0.0.1001 Feb 2018Release notes
Open source →-
Updates to support Dart 2.0 core library changes (wave 2.2). See issue 31847 for details.
-
-
0.0.907 Aug 2017 -
0.0.804 Aug 2017 -
0.0.712 Jul 2017Release notes
Open source →- Bug Fix: Streams produced with
scanandswitchMapnow correctly reportisBroadcast. - Add
startWith,startWithMany, andstartWithStream.
- Bug Fix: Streams produced with
-
0.0.611 Jul 2017Release notes
Open source →- Bug Fix: Some transformers did not correctly add data to all listeners on
broadcast streams. Fixed for
throttle,debounce,asyncWhereandaudit. - Bug Fix: Only call the
tapdata callback once per event rather than once per listener. - Bug Fix: Allow canceling and re-listening to broadcast streams after a
mergetransform. - 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
StreamControllersfor forwarding where possible.
- Bug Fix: Some transformers did not correctly add data to all listeners on
broadcast streams. Fixed for
-
0.0.508 May 2017Release notes
Open source →- Bug Fix: Allow compiling switchLatest with Dart2Js.
- Add
asyncWhere: Likewherebut allows an asynchronous predicate.
-
0.0.407 May 2017Release notes
Open source →- 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
- Add
-
0.0.306 May 2017Release notes
Open source →- Add
tap: React to values as they pass without being a subscriber on a stream - Add
switchMapandswitchLatest: Flatten a Stream of Streams into a Stream which forwards values from the most recent Stream
- Add
-
0.0.205 May 2017Release notes
Open source →- Add
concat: Appends streams in series - Add
mergeandmergeAll: Interleaves streams
- Add
-
0.0.102 May 2017Release notes
Open source →- Initial release with the following utilities:
buffer: Collects events in aListuntil atriggerstream fires.debounce,debounceBuffer: Collect or drop events which occur closer in time than a given duration.
- Initial release with the following utilities: