Skip to content

Commit 7a8b935

Browse files
authored
Merge pull request #3 from Flutter-Dart-Open-Source/1.1.0 [skip ci]
1.1.0
2 parents 2f07769 + de02b25 commit 7a8b935

File tree

6 files changed

+42
-12
lines changed

6 files changed

+42
-12
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.1.0 - May 9, 2021
2+
3+
- Update `rxdart` to `0.27.0`.
4+
15
## 1.0.0 - Apr 02, 2021
26

37
- Stable release for null safety.

example/pubspec.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ packages:
7373
path: ".."
7474
relative: true
7575
source: path
76-
version: "1.0.0"
76+
version: "1.1.0"
7777
matcher:
7878
dependency: transitive
7979
description:
@@ -108,7 +108,7 @@ packages:
108108
name: rxdart
109109
url: "https://pub.dartlang.org"
110110
source: hosted
111-
version: "0.26.0"
111+
version: "0.27.0"
112112
sky_engine:
113113
dependency: transitive
114114
description: flutter

lib/src/value_listenable_to_value_stream.dart

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'dart:async' show Stream, StreamSubscription;
22

33
import 'package:flutter/foundation.dart' show ValueListenable;
4-
import 'package:rxdart/rxdart.dart' show ValueStream, ValueWrapper;
4+
import 'package:rxdart/rxdart.dart' show ValueStream, ValueStreamError;
55

66
import 'common.dart';
77
import 'streamx.dart';
@@ -61,8 +61,23 @@ class ValueListenableStream<T> extends Stream<T> implements ValueStream<T> {
6161
bool get isBroadcast => false;
6262

6363
@override
64-
Null get errorAndStackTrace => null;
64+
Never get error => throw ValueStreamError.hasNoError();
6565

6666
@override
67-
ValueWrapper<T> get valueWrapper => ValueWrapper(_valueListenable.value);
67+
Null get errorOrNull => null;
68+
69+
@override
70+
bool get hasError => false;
71+
72+
@override
73+
Null get stackTrace => null;
74+
75+
@override
76+
bool get hasValue => true;
77+
78+
@override
79+
T get value => _valueListenable.value;
80+
81+
@override
82+
T get valueOrNull => _valueListenable.value;
6883
}

pubspec.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ packages:
9494
name: rxdart
9595
url: "https://pub.dartlang.org"
9696
source: hosted
97-
version: "0.26.0"
97+
version: "0.27.0"
9898
sky_engine:
9999
dependency: transitive
100100
description: flutter

pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: listenable_stream
22
description: Convert Listenable (eg. ChangeNotifier), ValueListenable(eg. ValueNotifier) to Stream / ValueStream.
3-
version: 1.0.0
3+
version: 1.1.0
44
author: Petrus Nguyen Thai Hoc <hoc081098@gmail.com>
55
homepage: https://github.com/Flutter-Dart-Open-Source/listenable_stream.git
66
repository: https://github.com/Flutter-Dart-Open-Source/listenable_stream.git
@@ -11,7 +11,7 @@ environment:
1111
flutter: '>=1.17.0'
1212

1313
dependencies:
14-
rxdart: ^0.26.0
14+
rxdart: ^0.27.0
1515
flutter:
1616
sdk: flutter
1717

test/listenable_stream_test.dart

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import 'dart:async';
33
import 'package:flutter/foundation.dart';
44
import 'package:flutter_test/flutter_test.dart';
55
import 'package:listenable_stream/listenable_stream.dart';
6-
import 'package:rxdart/rxdart.dart';
76

87
// ignore_for_file: invalid_use_of_protected_member
98

@@ -105,6 +104,8 @@ void main() {
105104
final stream = valueNotifier.toValueStream();
106105

107106
expect(stream.value, 0);
107+
expect(stream.valueOrNull, 0);
108+
expect(stream.hasValue, isTrue);
108109
expect(
109110
stream,
110111
emitsInOrder([1, 2, 3]),
@@ -120,7 +121,9 @@ void main() {
120121
final valueNotifier = ValueNotifier(0);
121122
final stream = valueNotifier.toValueStream(replayValue: true);
122123

123-
expect(stream.requireValue, 0);
124+
expect(stream.value, 0);
125+
expect(stream.valueOrNull, 0);
126+
expect(stream.hasValue, isTrue);
124127
expect(
125128
stream,
126129
emitsInOrder([0, 1, 2, 3]),
@@ -299,15 +302,23 @@ void main() {
299302
});
300303

301304
test('Has no error', () {
305+
final notReplay = () => ValueNotifier(0).toValueStream();
302306
expect(
303-
() => ValueNotifier(0).toValueStream().requireError,
307+
() => notReplay().error,
304308
throwsA(anything),
305309
);
310+
expect(notReplay().errorOrNull, isNull);
311+
expect(notReplay().stackTrace, isNull);
312+
expect(notReplay().hasError, isFalse);
306313

314+
final replay = () => ValueNotifier(0).toValueStream(replayValue: true);
307315
expect(
308-
() => ValueNotifier(0).toValueStream(replayValue: true).requireError,
316+
() => replay().error,
309317
throwsA(anything),
310318
);
319+
expect(replay().errorOrNull, isNull);
320+
expect(replay().stackTrace, isNull);
321+
expect(replay().hasError, isFalse);
311322
});
312323
});
313324
}

0 commit comments

Comments
 (0)