I haven't looked at Dart in awhile but I hope this means Rx style composability/async/error handling is in Dart's future.
https://api.dartlang.org/apidocs/channels/be/dartdoc-viewer/...
https://api.dartlang.org/apidocs/channels/be/dartdoc-viewer/...
Having functions like flatMapLatest, flatMap, combine, merge, scan, and takeUntil are pretty much essential to building any RX heavy application.
There are some packages out there that extend Dart's streams to add this behavior. One of which I'm the author of, Frappe. Of course, it'd be nice if Dart included this stuff out of the box.
i.e. From docs: "Creates a new stream from this stream that converts each element into zero or more events."
Stream.takeWhile(f) is takeUntil with the return value of the f argument negated.
But sure, you can always add more features to a core library, the difficult decision is when to stop, and leave the rest to libraries.
Missing a ( there.