| Index: lib/src/utils.dart
|
| diff --git a/lib/src/utils.dart b/lib/src/utils.dart
|
| index 6b0939fe5ccf805bcf9ffb33e5e9d86b045eb1c1..a1199bcd583894bb94bb6406be404ab506d712ec 100644
|
| --- a/lib/src/utils.dart
|
| +++ b/lib/src/utils.dart
|
| @@ -63,3 +63,13 @@ List flatten(Iterable nested) {
|
| helper(nested);
|
| return result;
|
| }
|
| +
|
| +/// Returns a sink that maps events sent to [original] using [fn].
|
| +StreamSink mapSink(StreamSink original, fn(event)) {
|
| + var controller = new StreamController(sync: true);
|
| + controller.stream.listen(
|
| + (event) => original.add(fn(event)),
|
| + onError: (error, stackTrace) => original.addError(error, stackTrace),
|
| + onDone: () => original.close());
|
| + return controller.sink;
|
| +}
|
|
|