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

Include package:stream_transformers into package:async #117

Open
lrhn opened this issue Jun 9, 2020 · 3 comments
Open

Include package:stream_transformers into package:async #117

lrhn opened this issue Jun 9, 2020 · 3 comments
Labels
type-enhancement A request for a change that isn't a bug

Comments

@lrhn
Copy link
Member

lrhn commented Jun 9, 2020

The package stream_transformers was created as an experiment. The API has now matured and stabilized, and it might make sense to include it in package:async, rather than having two different packages.

It could be exported as a separate top-level library, to avoid the extension methods crowding the classes for users of the rest of package:async.

@natebosch

@natebosch
Copy link
Member

A strong argument in favor of making it a separate top level import is that it will be non-breaking that way. If we were to suddenly introduce these extensions from package:async/async.dart then it would introduce errors for everyone who today imports both.

There are no types introduced (publicly) by that package, so copy/paste is a valid migration path.

@lrhn
Copy link
Member Author

lrhn commented Jun 9, 2020

We would, at the same time, change package:stream_transform to export the extensions from package:async and therefore depend on a version of package:async great enough to have those.

It's still possible to get an older version of package:stream_transform and a new version of package:async, but it is possible to avoid it.

That said, I have no problem with a top-level library.

@shilangyu
Copy link

Has this idea been abandoned? I just found a useful helper in package:stream_transform by accident, I was not aware this package even exists. Yet what it does seems to align greatly with the purpose of package:async.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-enhancement A request for a change that isn't a bug
Projects
None yet
Development

No branches or pull requests

4 participants