Add type-asserting wrappers for transformers.
Add APIs for asserting the types of transformers.

I thought about adding these to Delegating*Transformer classes, but
those delegates don't really make any sense at all on their own, so I
found other places instead.

R=lrn@google.com

Review URL: https://codereview.chromium.org//1947923003 .
6 files changed
tree: b5c87fc6e24bce1d8b8adf437d7dcb75fe8295c2
  1. lib/
  2. test/
  3. .analysis_options
  4. .gitignore
  5. .test_config
  6. AUTHORS
  7. CHANGELOG.md
  8. codereview.settings
  9. CONTRIBUTING.md
  10. LICENSE
  11. pubspec.yaml
  12. README.md
README.md

Contains utility classes in the style of dart:async to work with asynchronous computations.

Zipping streams

The StreamZip class can combine several streams of events into a single stream of tuples of events.

Results

The package introduces a Result class that can hold either a value or an error. It allows capturing an asynchronous computation which can give either a value or an error, into an asynchronous computation that always gives a Result value, where errors can be treated as data. It also allows releasing the Result back into an asynchronous computation.