PackageTrack
Sign in Get early access

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 2024
2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 30
  1. 2.1.1 17 Dec 2024
    Release notes
    • Require Dart 3.1 or greater
    • Forward errors from the trigger future through to the result stream in takeUntil. Previously an error would have not closed the stream, and instead raised as an unhandled async error.
    • Move to dart-lang/tools monorepo.
    Open source →
  2. 2.1.0 03 Nov 2022
    Release notes
    • Add whereNotNull.
    Open source →
  3. 2.0.1 05 Oct 2022
    Release notes
    • Require Dart 2.14 or greater.
    • Wait for the future returned from StreamSubscription.cancel() before listening to the subsequent stream in switchLatest and switchMap.
    Open source →
  4. 2.0.0 08 Feb 2021
    Release notes
    • Migrate to null safety.
    • Improve tests of switchMap and improve documentation with links and clarification.
    • Add trailing argument to throttle.
    Open source →
  5. 2.0.0-nullsafety.0 13 Jan 2021 pre-release

    Nothing published for this version

  6. 1.2.0 26 Feb 2020
    Release notes
    • Add support for emitting the "leading" event in debounce.
    Open source →
  7. 1.1.0 03 Dec 2019
    Release notes
    • Add concurrentAsyncExpand to interleave events emitted by multiple sub streams created by a callback.
    Open source →
  8. 1.0.0 20 Nov 2019
    Release notes
    • Remove the top level methods and retain the extensions only.
    Open source →
  9. 0.0.20 05 Nov 2019
    Release notes
    • 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))) use stream.debounce(Duration(seconds: 1)).
      • To migrate a usage where a StreamTransformer instance is stored or passed see "Getting a StreamTransformer instance" on the README.
    • The map and chainTransformers 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 with StreamTransformer.fromBind:

      // Replace `map(convert)`
      StreamTransformer.fromBind((s) => s.map(convert));
      
      // Replace `chainTransformers(first, second)`
      StreamTransformer.fromBind((s) => s.transform(first).transform(second));
      
    Open source →
  10. 0.0.19 03 May 2019
    Release notes
    • Add asyncMapSample transform.
    Open source →
  11. 0.0.18 29 Apr 2019
    Release notes
    • Internal cleanup. Passed "trigger" streams or futures now allow <void> generic type rather than an implicit dynamic>
    Open source →
  12. 0.0.17 26 Mar 2019
    Release notes
    • Add concrete types to the onError callback in tap.
    Open source →
  13. 0.0.16 12 Mar 2019
    Release notes
    • Allow a combine callback to return a FutureOr<T> in scan. There are no behavior changes for synchronous callbacks. Potential breaking change In the unlikely situation where scan was used to produce a Stream<Future> inference may now fail and require explicit generic type arguments.
    • Add combineLatest.
    • Add combineLatestAll.
    Open source →
  14. 0.0.16+1 13 Mar 2019
    Release notes
    • Remove usage of Set literal which is not available before Dart 2.2.0
    Open source →
  15. 0.0.15 12 Feb 2019
    Release notes
    • Add whereType.
    Open source →
  16. 0.0.14 13 Jun 2018
    Release notes
    • asyncWhere will now forward exceptions thrown by the callback through the result Stream.
    • Added concurrentAsyncMap.
    Open source →
  17. 0.0.14+1 18 Jul 2018
    Release notes
    • Allow using non-dev Dart 2 SDK.
    Open source →
  18. 0.0.13 08 Jun 2018
    Release notes
    • mergeAll now accepts an Iterable<Stream> instead of only List<Stream>.
    Open source →
  19. 0.0.12 01 Jun 2018
    Release notes
    • Add chainTransformers and map for use cases where StreamTransformer instances are stored as variables or passed to methods other than transform.
    Open source →
  20. 0.0.11 26 Mar 2018
    Release notes
    • Renamed concat as followedBy to match the naming of Iterable.followedBy. concat is now deprecated.
    Open source →
  21. 0.0.10 01 Feb 2018
    Release notes
    • Updates to support Dart 2.0 core library changes (wave 2.2). See issue 31847 for details.

    Open source →
  22. 0.0.9 07 Aug 2017
    Release notes
    • Add asyncMapBuffer.
    Open source →
  23. 0.0.8 04 Aug 2017
    Release notes
    • Add takeUntil.
    Open source →
  24. 0.0.7 12 Jul 2017
    Release notes
    • Bug Fix: Streams produced with scan and switchMap now correctly report isBroadcast.
    • Add startWith, startWithMany, and startWithStream.
    Open source →
  25. 0.0.6 11 Jul 2017
    Release notes
    • Bug Fix: Some transformers did not correctly add data to all listeners on broadcast streams. Fixed for throttle, debounce, asyncWhere and audit.
    • 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.
    Open source →
  26. 0.0.5 08 May 2017
    Release notes
    • Bug Fix: Allow compiling switchLatest with Dart2Js.
    • Add asyncWhere: Like where but allows an asynchronous predicate.
    Open source →
  27. 0.0.4 07 May 2017
    Release notes
    • 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
    Open source →
  28. 0.0.3 06 May 2017
    Release notes
    • Add tap: React to values as they pass without being a subscriber on a stream
    • Add switchMap and switchLatest: Flatten a Stream of Streams into a Stream which forwards values from the most recent Stream
    Open source →
  29. 0.0.2 05 May 2017
    Release notes
    • Add concat: Appends streams in series
    • Add merge and mergeAll: Interleaves streams
    Open source →
  30. 0.0.1 02 May 2017
    Release notes
    • Initial release with the following utilities:
      • buffer: Collects events in a List until a trigger stream fires.
      • debounce, debounceBuffer: Collect or drop events which occur closer in time than a given duration.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive