Line data Source code
1 : // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
2 : // for details. All rights reserved. Use of this source code is governed by a
3 : // BSD-style license that can be found in the LICENSE file.
4 :
5 : import 'dart:async';
6 :
7 : import '../result.dart';
8 : import 'capture_sink.dart';
9 :
10 : /// A stream transformer that captures a stream of events into [Result]s.
11 : ///
12 : /// The result of the transformation is a stream of [Result] values and no
13 : /// error events. This is the transformer used by [captureStream].
14 : @Deprecated("Will be removed in async 2.0.0.")
15 : class CaptureStreamTransformer<T> implements StreamTransformer<T, Result<T>> {
16 5 : const CaptureStreamTransformer();
17 :
18 : Stream<Result<T>> bind(Stream<T> source) {
19 0 : return new Stream<Result<T>>.eventTransformed(source, _createSink);
20 : }
21 :
22 : static EventSink _createSink(EventSink<Result> sink) {
23 0 : return new CaptureSink(sink);
24 : }
25 : }
|