LCOV - code coverage report
Current view: top level - async-1.13.3/lib/src/delegate - sink.dart (source / functions) Hit Total Coverage
Test: coverage.lcov Lines: 3 5 60.0 %
Date: 2017-10-10 20:17:03 Functions: 0 0 -

          Line data    Source code
       1             : // Copyright (c) 2015, 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             : /// Simple delegating wrapper around a [Sink].
       6             : ///
       7             : /// Subclasses can override individual methods, or use this to expose only the
       8             : /// [Sink] methods of a subclass.
       9             : class DelegatingSink<T> implements Sink<T> {
      10             :   final Sink _sink;
      11             : 
      12             :   /// Create a delegating sink forwarding calls to [sink].
      13           5 :   DelegatingSink(Sink<T> sink) : _sink = sink;
      14             : 
      15           0 :   DelegatingSink._(this._sink);
      16             : 
      17             :   /// Creates a wrapper that coerces the type of [sink].
      18             :   ///
      19             :   /// Unlike [new DelegatingSink], this only requires its argument to be an
      20             :   /// instance of `Sink`, not `Sink<T>`. This means that calls to [add] may
      21             :   /// throw a [CastError] if the argument type doesn't match the reified type of
      22             :   /// [sink].
      23             :   static Sink<T> typed<T>(Sink sink) =>
      24           0 :       sink is Sink<T> ? sink : new DelegatingSink._(sink);
      25             : 
      26             :   void add(T data) {
      27          10 :     _sink.add(data);
      28             :   }
      29             : 
      30             :   void close() {
      31          10 :     _sink.close();
      32             :   }
      33             : }

Generated by: LCOV version 1.13