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 : 9 : /// Used by [Result.releaseSink]. 10 : class ReleaseSink<T> implements EventSink<Result<T>> { 11 : final EventSink<T> _sink; 12 : 13 0 : ReleaseSink(this._sink); 14 : 15 0 : @override 16 : void add(Result<T> result) { 17 0 : result.addTo(_sink); 18 : } 19 : 20 0 : @override 21 : void addError(Object error, [StackTrace? stackTrace]) { 22 : // Errors may be added by intermediate processing, even if it is never 23 : // added by CaptureSink. 24 0 : _sink.addError(error, stackTrace); 25 : } 26 : 27 0 : @override 28 : void close() { 29 0 : _sink.close(); 30 : } 31 : }