Chromium Code Reviews| Index: lib/src/typed/stream_subscription.dart |
| diff --git a/lib/src/typed/stream_subscription.dart b/lib/src/typed/stream_subscription.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..800a4badd48f114ccf8c8aa9a4454ba5c2487082 |
| --- /dev/null |
| +++ b/lib/src/typed/stream_subscription.dart |
| @@ -0,0 +1,36 @@ |
| +// 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'; |
| + |
| +class TypeSafeStreamSubscription<T> implements StreamSubscription<T> { |
| + final StreamSubscription _subscription; |
| + |
| + bool get isPaused => _subscription.isPaused; |
| + |
| + TypeSafeStreamSubscription(this._subscription); |
| + |
| + void onData(void handleData(T data)) { |
| + _subscription.onData((data) => handleData(data as T)); |
| + } |
| + |
| + void onError(Function handleError) { |
| + _subscription.onError(handleError); |
| + } |
| + |
| + void onDone(void handleDone()) { |
| + _subscription.onDone(handleDone); |
| + } |
| + |
| + void pause([Future resumeFuture]) { |
| + _subscription.pause(resumeFuture); |
| + } |
| + |
| + void resume() { |
| + _subscription.resume(); |
| + } |
| + |
| + Future cancel() => _subscription.cancel(); |
| + Future asFuture([futureValue]) => _subscription.asFuture(futureValue); |
|
Lasse Reichstein Nielsen
2016/04/08 09:20:29
Could be
Future<S> asFuture<S>([S futureValue])
i
nweiz
2016/04/11 20:26:16
Strong mode won't let us add typing that's not the
|
| +} |