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 : class TypeSafeStreamSubscription<T> implements StreamSubscription<T> {
8 : final StreamSubscription _subscription;
9 :
10 0 : bool get isPaused => _subscription.isPaused;
11 :
12 0 : TypeSafeStreamSubscription(this._subscription);
13 :
14 : void onData(void handleData(T data)) {
15 0 : _subscription.onData((data) => handleData(data as T));
16 : }
17 :
18 : void onError(Function handleError) {
19 0 : _subscription.onError(handleError);
20 : }
21 :
22 : void onDone(void handleDone()) {
23 0 : _subscription.onDone(handleDone);
24 : }
25 :
26 : void pause([Future resumeFuture]) {
27 0 : _subscription.pause(resumeFuture);
28 : }
29 :
30 : void resume() {
31 0 : _subscription.resume();
32 : }
33 :
34 0 : Future cancel() => _subscription.cancel();
35 :
36 0 : Future<E> asFuture<E>([E futureValue]) => _subscription.asFuture(futureValue);
37 : }
|