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 '../../stream_channel.dart';
6 :
7 : /// A wrapper that coerces the generic type of the channel returned by an inner
8 : /// transformer to `S`.
9 : class TypeSafeStreamChannelTransformer<S, T>
10 : implements StreamChannelTransformer<S, T> {
11 : final StreamChannelTransformer _inner;
12 :
13 0 : TypeSafeStreamChannelTransformer(this._inner);
14 :
15 : StreamChannel<S> bind(StreamChannel<T> channel) =>
16 0 : _inner.bind(channel).cast();
17 : }
|