Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge package:stream_transform #1657

Merged
merged 167 commits into from
Dec 17, 2024
Merged
Show file tree
Hide file tree
Changes from 166 commits
Commits
Show all changes
167 commits
Select commit Hold shift + click to select a range
84801f0
New package stream_transform
natebosch May 1, 2017
05740a1
Add public library and buffer utility (dart-lang/stream_transform#2)
natebosch May 1, 2017
c24bf71
Add `debounce` utilities and prepare for publish (dart-lang/stream_tr…
natebosch May 2, 2017
92af9f8
Implement concat (dart-lang/stream_transform#6)
natebosch May 3, 2017
4d7b858
Fix analyzer error (dart-lang/stream_transform#8)
natebosch May 5, 2017
ef70491
Implement merge and mergeAll (dart-lang/stream_transform#7)
natebosch May 5, 2017
6c0c44d
Drop copy of combineAllMatcher
natebosch May 5, 2017
95ec1fc
Implement tap (dart-lang/stream_transform#9)
natebosch May 5, 2017
6610696
Implement switchMap and switchLatest (dart-lang/stream_transform#10)
natebosch May 6, 2017
507dd70
Add throttle, audit, and scan (dart-lang/stream_transform#11)
jonahwilliams May 7, 2017
df9ae5c
Bump version for publish
natebosch May 7, 2017
7f491e9
Fix non-strong compile (dart-lang/stream_transform#12)
natebosch May 8, 2017
164a80d
Add `asyncWhere` (dart-lang/stream_transform#13)
natebosch May 8, 2017
5139e40
README for asyncWhere
natebosch May 8, 2017
b878740
Run non-strong analyzer on travis (dart-lang/stream_transform#15)
natebosch May 8, 2017
9f817bc
Add `fromHandlers` for easier broadcast streams (dart-lang/stream_tra…
natebosch Jun 21, 2017
03eed27
Fix broadcast bug for Audit and clarify behavior (dart-lang/stream_tr…
natebosch Jun 23, 2017
dff871c
Fix throttle broadcast bug (dart-lang/stream_transform#23)
natebosch Jun 26, 2017
11bb00f
Call `tap` data callback once per event (dart-lang/stream_transform#26)
natebosch Jun 26, 2017
d7a7825
Use sync forwarders in `fromHandlers` (dart-lang/stream_transform#27)
natebosch Jun 29, 2017
9a20c98
Use sync forwarders for `merge` (dart-lang/stream_transform#28)
natebosch Jun 30, 2017
5b3c27c
Ensure timers are started before awaits in tests (dart-lang/stream_tr…
natebosch Jul 1, 2017
cb14253
Use sync forwarders for `switchLatest` (dart-lang/stream_transform#30)
natebosch Jul 1, 2017
a7466a6
Rewrite concat (dart-lang/stream_transform#32)
natebosch Jul 10, 2017
52ecefc
Use sync forwarders in buffer (dart-lang/stream_transform#31)
natebosch Jul 11, 2017
1ef29b6
Fix asyncWhere for broadcast streams (dart-lang/stream_transform#33)
natebosch Jul 11, 2017
ffb0e43
Prepare to publish 0.0.6
natebosch Jul 11, 2017
17ede92
Add fromBind to replace direct StreamTransformer (dart-lang/stream_tr…
natebosch Jul 12, 2017
a365c36
Add startWith, startWithMany, and startWithStream (dart-lang/stream_t…
natebosch Jul 12, 2017
a5980fe
Prepare to publish 0.0.7
natebosch Jul 12, 2017
09210cd
Add takeUntil (dart-lang/stream_transform#38)
natebosch Aug 4, 2017
8d577d0
Add asyncMapBuffer (dart-lang/stream_transform#39)
natebosch Aug 7, 2017
4e93049
Enable some lints
kevmoo Oct 24, 2017
5d9b067
Add missing copyright headers
kevmoo Oct 24, 2017
f5af29b
test on Chrome and Firefox
kevmoo Oct 24, 2017
75ed4c2
Updates for Dart 2.0 core library changes (wave 2.2)
leafpetersen Jan 31, 2018
9fc4f3a
Exclude stable and old SDK on travis
natebosch Jan 31, 2018
fc8fadf
Merge pull request dart-lang/stream_transform#42 from dart-lang/corel…
leafpetersen Jan 31, 2018
b1a5ca6
Rename concat as followedBy (dart-lang/stream_transform#43)
natebosch Mar 26, 2018
9d17768
Clean up internal uses of concat (dart-lang/stream_transform#44)
natebosch Mar 26, 2018
83e552b
Explicitly handle null callback for tap (dart-lang/stream_transform#45)
natebosch May 24, 2018
2e9888b
Use latest conventions for Travis (dart-lang/stream_transform#46)
natebosch May 24, 2018
a05045b
Add `chainTransformers` and `map` utilities (dart-lang/stream_transfo…
natebosch Jun 1, 2018
fd4b5f4
Allow Iterable argument to mergeAll (dart-lang/stream_transform#48)
natebosch Jun 8, 2018
55d124c
Forward errors thrown during `asyncWhere` (dart-lang/stream_transform…
natebosch Jun 13, 2018
3c2c0ca
Add `concurrentAsyncMap` (dart-lang/stream_transform#50)
natebosch Jun 13, 2018
5bd79f1
Cast Stream of Streams (dart-lang/stream_transform#52)
natebosch Jun 21, 2018
40f6dad
Stop running --no-strong analyzer (dart-lang/stream_transform#53)
natebosch Jun 21, 2018
cc4e216
Allow the non-dev Dart 2 SDK (dart-lang/stream_transform#54)
natebosch Jul 18, 2018
1ef7d9a
Run dartfmt --fix to drop optional `new` (dart-lang/stream_transform#55)
natebosch Aug 7, 2018
584b855
Skip tests on dev channel (dart-lang/stream_transform#56)
kevmoo Aug 8, 2018
6ab1113
Add more lints used in package:pedantic (dart-lang/stream_transform#58)
natebosch Sep 5, 2018
4254811
Drop `fromBind` utility (dart-lang/stream_transform#59)
natebosch Nov 16, 2018
1a13cc1
Add whereType transformer (dart-lang/stream_transform#60)
natebosch Feb 12, 2019
2deb47d
enable pedantic lints (dart-lang/stream_transform#61)
kevmoo Mar 7, 2019
f2f0626
Allow a `FutureOr` return in `scan` (dart-lang/stream_transform#64)
natebosch Mar 8, 2019
cda88ae
Add `combineLatest` (dart-lang/stream_transform#65)
natebosch Mar 11, 2019
75611df
Add `combineLatestAll` (dart-lang/stream_transform#67)
brettapeters Mar 12, 2019
aa9fc6e
Change onListen bailouts to asserts (dart-lang/stream_transform#68)
natebosch Mar 12, 2019
3918079
Enable a bunch of lints
natebosch Mar 12, 2019
9ab34fc
Enforce and fix cascade_invocations
natebosch Mar 12, 2019
252870c
Enforce and fix prefer_const_constructors
natebosch Mar 12, 2019
cd105db
Enforce and fix prefer_typting_uninitialized_variables
natebosch Mar 12, 2019
6901653
Enforce and mark for unawaited_futures
natebosch Mar 12, 2019
62cd8f5
Enforce and fix unnecessary_parenthesis
natebosch Mar 12, 2019
252cf30
Add missing copyright header (dart-lang/stream_transform#70)
brettapeters Mar 12, 2019
073f53f
Remove usage of Set literal (dart-lang/stream_transform#72)
natebosch Mar 13, 2019
ccea759
Bump minimum SDK to 2.2.0 (dart-lang/stream_transform#73)
natebosch Mar 13, 2019
d39ec72
Explicitly test on earliest supported stable SDK (dart-lang/stream_tr…
natebosch Mar 13, 2019
34adff9
Make tap's onError arguments have specific types (dart-lang/stream_tr…
TastyPi Mar 26, 2019
13aa1c3
Prepare to release 0.0.17 (dart-lang/stream_transform#76)
natebosch Mar 26, 2019
8503dd7
Enable and fix strict-raw-types checks (dart-lang/stream_transform#78)
natebosch Apr 26, 2019
45f181a
Add asyncMapSample transform (dart-lang/stream_transform#79)
natebosch May 3, 2019
a1cfd86
enable prefer_generic_function_type_aliases lint (dart-lang/stream_tr…
kevmoo Jul 19, 2019
dbc38a6
Inline some typedefs (dart-lang/stream_transform#81)
natebosch Jul 19, 2019
3ff2e66
Rewrite transformers as extension methods (dart-lang/stream_transform…
natebosch Oct 7, 2019
14455ec
Add extension comments and regroup them (dart-lang/stream_transform#84)
natebosch Oct 7, 2019
b0e2e74
Merge asyncWhere and whereType to same extension (dart-lang/stream_tr…
natebosch Oct 18, 2019
eecbabd
Add an example (dart-lang/stream_transform#86)
natebosch Nov 5, 2019
13df7f2
Prepare to publish (dart-lang/stream_transform#87)
natebosch Nov 5, 2019
085d395
Drop non-extension methods (dart-lang/stream_transform#88)
natebosch Nov 20, 2019
44ed28d
Add concurrentAsyncExpand (dart-lang/stream_transform#90)
natebosch Nov 27, 2019
32cda0d
Fix travis to fail on analysis lints (dart-lang/stream_transform#91)
natebosch Nov 27, 2019
ad2a637
Refactor tracking of multiple stream subscriptions (dart-lang/stream_…
natebosch Nov 27, 2019
a6e207e
Prepare to publish (dart-lang/stream_transform#94)
natebosch Dec 3, 2019
19df27c
Remove author from pubspec (dart-lang/stream_transform#95)
natebosch Dec 3, 2019
b501497
Fix newly enforced package:pedantic lints (dart-lang/stream_transform…
natebosch Dec 5, 2019
9cac3ae
Handle `null` returns from cancelled subscriptions (dart-lang/stream_…
natebosch Dec 11, 2019
58e0f74
Drop the _WhereType transformer definition (dart-lang/stream_transfor…
natebosch Jan 3, 2020
82db7f1
Fix the description of debounce (dart-lang/stream_transform#101)
natebosch Feb 13, 2020
0a210ab
Strengthen Travis checks (dart-lang/stream_transform#102)
natebosch Feb 20, 2020
c4ab194
Add leading and trailing support to debounce (dart-lang/stream_transf…
natebosch Feb 26, 2020
8ea51b3
Prepare to publish (dart-lang/stream_transform#104)
natebosch Feb 26, 2020
1512a1e
Refactor to avoid `.cast<S>()` (dart-lang/stream_transform#105)
natebosch Mar 27, 2020
2b3cbd2
docs: fix spelling of debounce (dart-lang/stream_transform#107)
maxlapides Apr 15, 2020
6aa8aeb
Improve docs for switchMap (dart-lang/stream_transform#109)
creativecreatorormaybenot May 27, 2020
e11a46d
Readme: badgese for travis and package version (dart-lang/stream_tran…
kevmoo Jun 8, 2020
56a2cad
Bump min SDK to workaround broken analyzer (dart-lang/stream_transfor…
natebosch Jul 31, 2020
7e0545d
Remove unused async import. (dart-lang/stream_transform#113)
MichaelRFairhurst Aug 20, 2020
6e78dd3
Put examples in code blocks for better dart doc (dart-lang/stream_tra…
jtmcdole Oct 1, 2020
2664a19
Remove error upgrades (dart-lang/stream_transform#118)
natebosch Nov 24, 2020
0bbb6d0
Migrate to null safety (dart-lang/stream_transform#119)
natebosch Dec 1, 2020
ce8d082
Refactor to remove StreamTransformer instantiation (dart-lang/stream_…
natebosch Dec 4, 2020
8bb79ad
Add trailing argument to throttle (dart-lang/stream_transform#123)
natebosch Jan 12, 2021
7cd0d9e
Allow null values in asyncMapSample and buffer (dart-lang/stream_tran…
natebosch Jan 12, 2021
69f0c13
Close sink on trailing throttle without pending (dart-lang/stream_tra…
natebosch Jan 12, 2021
dce07a6
Prepare to publish (dart-lang/stream_transform#126)
natebosch Jan 13, 2021
cc74a72
Migrate to GitHub Actions (dart-lang/stream_transform#127)
athomas Jan 20, 2021
417cb8a
Publish stable version of stream_transform (dart-lang/stream_transfor…
kevmoo Feb 8, 2021
3a7b15b
Update LICENSE (dart-lang/stream_transform#130)
franklinyow Apr 3, 2021
d486804
Fix newly enforced lint (dart-lang/stream_transform#131)
kevmoo Apr 26, 2021
9ec8e84
Add dependabot
kevmoo Jun 5, 2021
ef2074e
Bump dart-lang/setup-dart from 0.3 to 1 (dart-lang/stream_transform#133)
dependabot[bot] Jun 5, 2021
fbeb8df
Dart format with latest SDK (dart-lang/stream_transform#134)
kevmoo Jul 12, 2021
a8d719c
Wait for cancel before next listen in switchLatest (dart-lang/stream_…
lrhn Aug 3, 2021
942fd9b
Migrate to pkg:lints recommended (dart-lang/stream_transform#138)
kevmoo Nov 11, 2021
fcf4b0f
Refactor a callback to async/await (dart-lang/stream_transform#139)
natebosch Dec 20, 2021
06fe43d
Bump actions/checkout from 2 to 3 (dart-lang/stream_transform#141)
dependabot[bot] Mar 2, 2022
da50cb8
Make a separate library for async expand methods (dart-lang/stream_tr…
natebosch May 19, 2022
2a73eac
Start table with comparisons to ReactiveX (dart-lang/stream_transform…
natebosch May 23, 2022
dab46d1
Implement `sample`, add `longPoll` to `buffer` (dart-lang/stream_tran…
natebosch May 26, 2022
8cdeeec
Rephrase "Returns a stream" docs (dart-lang/stream_transform#149)
natebosch May 26, 2022
b11fead
Remove deprecated experimental invariant_booleans lint rule (dart-lan…
srawlins Jul 25, 2022
e282122
Extend timing buffer in audit test (dart-lang/stream_transform#154)
natebosch Jul 28, 2022
1f4638d
update CI; prep for publishing (dart-lang/stream_transform#155)
devoncarew Oct 5, 2022
3a55d4c
Add whereNotNull (dart-lang/stream_transform#156)
natebosch Oct 15, 2022
27b9483
Fix test compatibility with Dart 3 (dart-lang/stream_transform#159)
natebosch Dec 12, 2022
a6f370c
Bump actions/checkout from 3.1.0 to 3.2.0 (dart-lang/stream_transform…
dependabot[bot] Jan 3, 2023
fefc4f8
Migrate from no-implicit-casts to strict-casts (dart-lang/stream_tran…
srawlins Jan 10, 2023
e0a8088
Fix CI badge in readme
kevmoo Jan 15, 2023
0d8f173
Drop legacy SDK test, bump min SDK to 2.18, update and fix lints (dar…
kevmoo Jan 17, 2023
4e0b41c
Call out missed events in startWith Doc (dart-lang/stream_transform#151)
natebosch Jan 17, 2023
884efe9
Bump actions/checkout from 3.2.0 to 3.3.0 (dart-lang/stream_transform…
dependabot[bot] Feb 1, 2023
8e5d502
Bump dart-lang/setup-dart from 1.3 to 1.4 (dart-lang/stream_transform…
dependabot[bot] Feb 1, 2023
befcb88
Use fake_async over waiting for timers with delays (dart-lang/stream_…
natebosch Mar 1, 2023
daf63d8
Forward errors from trigger in takeUntil (dart-lang/stream_transform#…
natebosch Mar 1, 2023
1c2c48d
Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (dart-lang/stream_trans…
dependabot[bot] Apr 3, 2023
1a4c148
Bump actions/checkout from 3.3.0 to 3.5.0 (dart-lang/stream_transform…
dependabot[bot] Apr 3, 2023
3d1658e
Bump actions/checkout from 3.5.0 to 3.5.2 (dart-lang/stream_transform…
dependabot[bot] May 8, 2023
50c6c54
blast_repo fixes (dart-lang/stream_transform#170)
devoncarew May 19, 2023
b2e160b
Bump actions/checkout from 3.5.2 to 3.5.3 (dart-lang/stream_transform…
dependabot[bot] Jul 1, 2023
8406831
Bump actions/checkout from 3.5.3 to 3.6.0 (dart-lang/stream_transform…
dependabot[bot] Sep 1, 2023
0415b4b
Bump dart-lang/setup-dart from 1.5.0 to 1.5.1 (dart-lang/stream_trans…
dependabot[bot] Oct 1, 2023
bb46069
Bump actions/checkout from 3.6.0 to 4.1.0 (dart-lang/stream_transform…
dependabot[bot] Oct 3, 2023
c49647c
Bump actions/checkout from 4.1.0 to 4.1.1 (dart-lang/stream_transform…
dependabot[bot] Nov 1, 2023
db300b6
Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (dart-lang/stream_trans…
dependabot[bot] Nov 1, 2023
3d8fb7f
Update and fix latest lints, bump min SDK to 3.1 (dart-lang/stream_tr…
kevmoo Nov 29, 2023
1db723d
Bump dart-lang/setup-dart from 1.6.0 to 1.6.2 (dart-lang/stream_trans…
dependabot[bot] Feb 1, 2024
ccc92b5
Bump actions/checkout from 4.1.1 to 4.1.2 (dart-lang/stream_transform…
dependabot[bot] Apr 1, 2024
8578165
Bump actions/checkout from 4.1.2 to 4.1.4 (dart-lang/stream_transform…
dependabot[bot] May 1, 2024
6830fed
Bump dart-lang/setup-dart from 1.6.2 to 1.6.4 (dart-lang/stream_trans…
dependabot[bot] May 1, 2024
883a88e
blast_repo fixes (dart-lang/stream_transform#184)
devoncarew May 13, 2024
5014aaf
Bump actions/checkout from 4.1.4 to 4.1.5 in the github-actions group…
dependabot[bot] May 13, 2024
83fd0d6
Bump actions/checkout from 4.1.5 to 4.1.6 in the github-actions group…
dependabot[bot] Jun 1, 2024
28436bf
Remove default onData for transformByHandlers (dart-lang/stream_trans…
natebosch Jun 13, 2024
7d1c52c
Replace Future.wait with Iterable<Future>.wait (dart-lang/stream_tran…
natebosch Jun 17, 2024
630a441
Drop checks for unsound null values (dart-lang/stream_transform#189)
natebosch Jun 18, 2024
0d0621e
Bump the github-actions group with 2 updates (dart-lang/stream_transf…
dependabot[bot] Jul 1, 2024
28e8006
Bump actions/checkout from 4.1.7 to 4.2.0 in the github-actions group…
dependabot[bot] Oct 1, 2024
bc01cd9
Add a shared ignoreArgument callback (dart-lang/stream_transform#190)
natebosch Oct 19, 2024
3a87059
fix "throttle" docs typo (dart-lang/stream_transform#193)
bryanoltman Oct 22, 2024
00223b4
Bump actions/checkout from 4.2.0 to 4.2.2 in the github-actions group…
dependabot[bot] Nov 1, 2024
d83abd9
Bump dart-lang/setup-dart in the github-actions group (dart-lang/stre…
dependabot[bot] Dec 1, 2024
d07a900
Merge package:stream_transform into the tools monorepo
mosuem Dec 11, 2024
9ee62d4
Add issue template and other fixes
mosuem Dec 11, 2024
19a4b38
Moving fixes
mosuem Dec 11, 2024
80e4dfd
Merge branch 'main' into merge-stream_transform-package
mosuem Dec 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/stream_transform.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
name: "package:stream_transform"
about: "Create a bug or file a feature request against package:stream_transform."
labels: "package:stream_transform"
---
4 changes: 4 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,10 @@
- changed-files:
- any-glob-to-any-file: 'pkgs/sse/**'

'package:stream_transform':
- changed-files:
- any-glob-to-any-file: 'pkgs/stream_transform/**'

'package:unified_analytics':
- changed-files:
- any-glob-to-any-file: 'pkgs/unified_analytics/**'
4 changes: 2 additions & 2 deletions .github/workflows/clock.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ on:
push:
branches: [ main ]
paths:
- '.github/workflows/clock.yml'
- '.github/workflows/clock.yaml'
- 'pkgs/clock/**'
pull_request:
branches: [ main ]
paths:
- '.github/workflows/clock.yml'
- '.github/workflows/clock.yaml'
- 'pkgs/clock/**'
schedule:
- cron: "0 0 * * 0"
Expand Down
73 changes: 73 additions & 0 deletions .github/workflows/stream_transform.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: package:stream_transform

on:
# Run on PRs and pushes to the default branch.
push:
branches: [ main ]
paths:
- '.github/workflows/stream_transform.yaml'
- 'pkgs/stream_transform/**'
pull_request:
branches: [ main ]
paths:
- '.github/workflows/stream_transform.yaml'
- 'pkgs/stream_transform/**'
schedule:
- cron: "0 0 * * 0"

env:
PUB_ENVIRONMENT: bot.github


defaults:
run:
working-directory: pkgs/stream_transform/

jobs:
# Check code formatting and static analysis on a single OS (linux)
# against Dart dev.
analyze:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sdk: [dev]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: dart-lang/setup-dart@e630b99d28a3b71860378cafdc2a067c71107f94
with:
sdk: ${{ matrix.sdk }}
- id: install
name: Install dependencies
run: dart pub get
- name: Check formatting
run: dart format --output=none --set-exit-if-changed .
if: always() && steps.install.outcome == 'success'
- name: Analyze code
run: dart analyze --fatal-infos
if: always() && steps.install.outcome == 'success'

# Run tests on a matrix consisting of two dimensions:
# 1. OS: ubuntu-latest, (macos-latest, windows-latest)
# 2. release channel: dev
test:
needs: analyze
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# Add macos-latest and/or windows-latest if relevant for this package.
os: [ubuntu-latest]
# Bump SDK for Legacy tests when changing min SDK.
sdk: [3.1, dev]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: dart-lang/setup-dart@e630b99d28a3b71860378cafdc2a067c71107f94
with:
sdk: ${{ matrix.sdk }}
- id: install
name: Install dependencies
run: dart pub get
- name: Run tests
run: dart test -p chrome,vm --test-randomize-ordering-seed=random
if: always() && steps.install.outcome == 'success'
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ don't naturally belong to other topic monorepos (like
| [source_maps](pkgs/source_maps/) | A library to programmatically manipulate source map files. | [![package issues](https://img.shields.io/badge/package:source_maps-4774bc)](https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Asource_maps) | [![pub package](https://img.shields.io/pub/v/source_maps.svg)](https://pub.dev/packages/source_maps) |
| [source_span](pkgs/source_span/) | Provides a standard representation for source code locations and spans. | [![package issues](https://img.shields.io/badge/package:source_span-4774bc)](https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Asource_span) | [![pub package](https://img.shields.io/pub/v/source_span.svg)](https://pub.dev/packages/source_span) |
| [sse](pkgs/sse/) | Provides client and server functionality for setting up bi-directional communication through Server Sent Events (SSE) and corresponding POST requests. | [![package issues](https://img.shields.io/badge/package:sse-4774bc)](https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Asse) | [![pub package](https://img.shields.io/pub/v/sse.svg)](https://pub.dev/packages/sse) |
| [stream_transform](pkgs/stream_transform/) | A collection of utilities to transform and manipulate streams. | [![package issues](https://img.shields.io/badge/package:stream_transform-4774bc)](https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Astream_transform) | [![pub package](https://img.shields.io/pub/v/stream_transform.svg)](https://pub.dev/packages/stream_transform) |
| [unified_analytics](pkgs/unified_analytics/) | A package for logging analytics for all Dart and Flutter related tooling to Google Analytics. | [![package issues](https://img.shields.io/badge/package:unified_analytics-4774bc)](https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Aunified_analytics) | [![pub package](https://img.shields.io/pub/v/unified_analytics.svg)](https://pub.dev/packages/unified_analytics) |

## Publishing automation
Expand Down
6 changes: 6 additions & 0 deletions pkgs/stream_transform/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.pub/
.dart_tool/
build/
packages
pubspec.lock
.packages
185 changes: 185 additions & 0 deletions pkgs/stream_transform/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
## 2.1.1

- 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.

## 2.1.0

- Add `whereNotNull`.

## 2.0.1

- Require Dart 2.14 or greater.
- Wait for the future returned from `StreamSubscription.cancel()` before
listening to the subsequent stream in `switchLatest` and `switchMap`.

## 2.0.0

- Migrate to null safety.
- Improve tests of `switchMap` and improve documentation with links and
clarification.
- Add `trailing` argument to `throttle`.

## 1.2.0

- Add support for emitting the "leading" event in `debounce`.

## 1.1.1

- Fix a bug in `asyncMapSample`, `buffer`, `combineLatest`,
`combineLatestAll`, `merge`, and `mergeAll` which would cause an exception
when cancelling a subscription after using the transformer if the original
stream(s) returned `null` from cancelling their subscriptions.

## 1.1.0

- Add `concurrentAsyncExpand` to interleave events emitted by multiple sub
streams created by a callback.

## 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)))` 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));
```

## 0.0.19

- Add `asyncMapSample` transform.

## 0.0.18

- Internal cleanup. Passed "trigger" streams or futures now allow `<void>`
generic type rather than an implicit `dynamic>`

## 0.0.17

- Add concrete types to the `onError` callback in `tap`.

## 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 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`.

## 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 an `Iterable<Stream>` instead of only `List<Stream>`.

## 0.0.12

- Add `chainTransformers` and `map` for use cases where `StreamTransformer`
instances are stored as variables or passed to methods other than `transform`.

## 0.0.11

- Renamed `concat` as `followedBy` to match the naming of `Iterable.followedBy`.
`concat` is now deprecated.

## 0.0.10

- Updates to support Dart 2.0 core library changes (wave
2.2). See [issue 31847][sdk#31847] for details.

[sdk#31847]: https://github.com/dart-lang/sdk/issues/31847

## 0.0.9

- Add `asyncMapBuffer`.

## 0.0.8

- Add `takeUntil`.

## 0.0.7

- Bug Fix: Streams produced with `scan` and `switchMap` now correctly report
`isBroadcast`.
- Add `startWith`, `startWithMany`, and `startWithStream`.

## 0.0.6

- 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.

## 0.0.5

- Bug Fix: Allow compiling switchLatest with Dart2Js.
- Add `asyncWhere`: Like `where` 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` and `switchLatest`: 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` and `mergeAll`: Interleaves streams

## 0.0.1

- 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.
27 changes: 27 additions & 0 deletions pkgs/stream_transform/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Copyright 2017, the Dart project authors.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Google LLC nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Loading
Loading