Index: packages/async/lib/src/result/capture_transformer.dart |
diff --git a/packages/async/lib/src/result/capture_transformer.dart b/packages/async/lib/src/result/capture_transformer.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6b1bbf239cd24e9efb8de5fa0a68015412f9583a |
--- /dev/null |
+++ b/packages/async/lib/src/result/capture_transformer.dart |
@@ -0,0 +1,25 @@ |
+// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+import 'dart:async'; |
+ |
+import '../result.dart'; |
+import 'capture_sink.dart'; |
+ |
+/// A stream transformer that captures a stream of events into [Result]s. |
+/// |
+/// The result of the transformation is a stream of [Result] values and no |
+/// error events. This is the transformer used by [captureStream]. |
+@Deprecated("Will be removed in async 2.0.0.") |
+class CaptureStreamTransformer<T> implements StreamTransformer<T, Result<T>> { |
+ const CaptureStreamTransformer(); |
+ |
+ Stream<Result<T>> bind(Stream<T> source) { |
+ return new Stream<Result<T>>.eventTransformed(source, _createSink); |
+ } |
+ |
+ static EventSink _createSink(EventSink<Result> sink) { |
+ return new CaptureSink(sink); |
+ } |
+} |