Skip to content

Commit 45fbe10

Browse files
authored
Require Dart 3.3, update and fix lints (dart-archive/stream_channel#100)
1 parent c7eef23 commit 45fbe10

16 files changed

+71
-50
lines changed

pkgs/stream_channel/.github/workflows/test-package.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
matrix:
4848
# Add macos-latest and/or windows-latest if relevant for this package.
4949
os: [ubuntu-latest]
50-
sdk: [2.19.0, dev]
50+
sdk: [3.3, dev]
5151
steps:
5252
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
5353
- uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3

pkgs/stream_channel/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 2.1.3-wip
2+
3+
* Require Dart 3.3
4+
15
## 2.1.2
26

37
* Require Dart 2.19

pkgs/stream_channel/example/example.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Future<void> main() async {
2222
// For example, we can handle standard input as strings:
2323
var stringChannel = stdioChannel
2424
.transform(StreamChannelTransformer.fromCodec(utf8))
25-
.transformStream(LineSplitter());
25+
.transformStream(const LineSplitter());
2626
stringChannel.sink.add('world!\n');
2727

2828
// You can implement StreamChannel<T> by extending StreamChannelMixin<T>, but
@@ -84,8 +84,8 @@ Future<void> main() async {
8484
// given the corresponding `SendPort`, and then call
8585
// `IsolateChannel.connectSend`.
8686
var recv = ReceivePort();
87-
var recvChannel = IsolateChannel.connectReceive(recv);
88-
var sendChannel = IsolateChannel.connectSend(recv.sendPort);
87+
var recvChannel = IsolateChannel<void>.connectReceive(recv);
88+
var sendChannel = IsolateChannel<void>.connectSend(recv.sendPort);
8989

9090
// You must manually close `IsolateChannel<T>` sinks, however.
9191
await recvChannel.sink.close();

pkgs/stream_channel/lib/src/disconnector.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class Disconnector<T> implements StreamChannelTransformer<T, T> {
3838
_sinks.clear();
3939
return Future.wait(futures, eagerError: true);
4040
});
41-
final _disconnectMemo = AsyncMemoizer();
41+
final _disconnectMemo = AsyncMemoizer<List<void>>();
4242

4343
@override
4444
StreamChannel<T> bind(StreamChannel<T> channel) {

pkgs/stream_channel/lib/src/guarantee_channel.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ class _GuaranteeSink<T> implements StreamSink<T> {
8383

8484
@override
8585
Future<void> get done => _doneCompleter.future;
86-
final _doneCompleter = Completer();
86+
final _doneCompleter = Completer<void>();
8787

8888
/// Whether connection is disconnected.
8989
///

pkgs/stream_channel/lib/src/isolate_channel.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class IsolateChannel<T> extends StreamChannelMixin<T> {
5151
.transform(StreamSinkTransformer.fromHandlers(handleDone: (sink) {
5252
if (!isCompleted) {
5353
receivePort.close();
54-
streamCompleter.setSourceStream(Stream.empty());
54+
streamCompleter.setSourceStream(const Stream.empty());
5555
sinkCompleter.setDestinationSink(NullStreamSink<T>());
5656
}
5757
sink.close();

pkgs/stream_channel/lib/src/multi_channel.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,8 @@ class _MultiChannel<T> extends StreamChannelMixin<T>
191191
// If the inner channel has already closed, create new virtual channels in a
192192
// closed state.
193193
if (_inner == null) {
194-
return VirtualChannel._(this, inputId, Stream.empty(), NullStreamSink());
194+
return VirtualChannel._(
195+
this, inputId, const Stream.empty(), NullStreamSink());
195196
}
196197

197198
late StreamChannelController<T> controller;

pkgs/stream_channel/lib/src/stream_channel_completer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class StreamChannelCompleter<T> {
3434
/// instead contain just that error. The sink will silently discard all
3535
/// events.
3636
static StreamChannel fromFuture(Future<StreamChannel> channelFuture) {
37-
var completer = StreamChannelCompleter();
37+
var completer = StreamChannelCompleter<void>();
3838
channelFuture.then(completer.setChannel, onError: completer.setError);
3939
return completer.channel;
4040
}

pkgs/stream_channel/pubspec.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
name: stream_channel
2-
version: 2.1.2
2+
version: 2.1.3-wip
33
description: >-
44
An abstraction for two-way communication channels based on the Dart Stream
55
class.
66
repository: https://github.com/dart-lang/stream_channel
77

88
environment:
9-
sdk: '>=2.19.0 <3.0.0'
9+
sdk: ^3.3.0
1010

1111
dependencies:
1212
async: ^2.5.0
1313

1414
dev_dependencies:
15-
dart_flutter_team_lints: ^1.0.0
15+
dart_flutter_team_lints: ^2.0.0
1616
test: ^1.16.0

pkgs/stream_channel/test/disconnector_test.dart

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ void main() {
1414
late Disconnector disconnector;
1515
late StreamChannel channel;
1616
setUp(() {
17-
streamController = StreamController();
18-
sinkController = StreamController();
17+
streamController = StreamController<void>();
18+
sinkController = StreamController<void>();
1919
disconnector = Disconnector();
2020
channel = StreamChannel.withGuarantees(
2121
streamController.stream, sinkController.sink)
@@ -52,7 +52,7 @@ void main() {
5252
});
5353

5454
test("events can't be added while a stream is being added", () {
55-
var controller = StreamController();
55+
var controller = StreamController<void>();
5656
channel.sink.addStream(controller.stream);
5757

5858
expect(() => channel.sink.add(1), throwsStateError);
@@ -67,7 +67,7 @@ void main() {
6767

6868
test('cancels addStream when disconnected', () async {
6969
var canceled = false;
70-
var controller = StreamController(onCancel: () {
70+
var controller = StreamController<void>(onCancel: () {
7171
canceled = true;
7272
});
7373
expect(channel.sink.addStream(controller.stream), completes);
@@ -78,9 +78,9 @@ void main() {
7878
});
7979

8080
test('disconnect() returns the close future from the inner sink', () async {
81-
var streamController = StreamController();
82-
var sinkController = StreamController();
83-
var disconnector = Disconnector();
81+
var streamController = StreamController<void>();
82+
var sinkController = StreamController<void>();
83+
var disconnector = Disconnector<void>();
8484
var sink = _CloseCompleterSink(sinkController.sink);
8585
StreamChannel.withGuarantees(streamController.stream, sink)
8686
.transform(disconnector);
@@ -140,7 +140,7 @@ void main() {
140140
/// returned by [close] using [completer].
141141
class _CloseCompleterSink extends DelegatingStreamSink {
142142
/// The completer for the future returned by [close].
143-
final completer = Completer();
143+
final completer = Completer<void>();
144144

145145
_CloseCompleterSink(super.inner);
146146

pkgs/stream_channel/test/isolate_channel_test.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ void main() {
5353
});
5454

5555
test("events can't be added while a stream is being added", () {
56-
var controller = StreamController();
56+
var controller = StreamController<void>();
5757
channel.sink.addStream(controller.stream);
5858

5959
expect(() => channel.sink.add(1), throwsStateError);
@@ -109,7 +109,7 @@ void main() {
109109
test('the sink closes as soon as an error is added via addStream',
110110
() async {
111111
var canceled = false;
112-
var controller = StreamController(onCancel: () {
112+
var controller = StreamController<void>(onCancel: () {
113113
canceled = true;
114114
});
115115

@@ -156,7 +156,7 @@ void main() {
156156

157157
test('the receiving channel produces an error if it gets the wrong message',
158158
() {
159-
var connectedChannel = IsolateChannel.connectReceive(connectPort);
159+
var connectedChannel = IsolateChannel<int>.connectReceive(connectPort);
160160
connectPort.sendPort.send('wrong value');
161161

162162
expect(connectedChannel.stream.toList(), throwsStateError);
@@ -165,7 +165,7 @@ void main() {
165165

166166
test('the receiving channel closes gracefully without a connection',
167167
() async {
168-
var connectedChannel = IsolateChannel.connectReceive(connectPort);
168+
var connectedChannel = IsolateChannel<int>.connectReceive(connectPort);
169169
await connectedChannel.sink.close();
170170
await expectLater(connectedChannel.stream.toList(), completion(isEmpty));
171171
await expectLater(connectedChannel.sink.done, completes);

pkgs/stream_channel/test/json_document_transformer_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,6 @@ void main() {
4141
test('synchronously throws if an unencodable object is added', () {
4242
var transformed = channel.transform(jsonDocument);
4343
expect(() => transformed.sink.add(Object()),
44-
throwsA(TypeMatcher<JsonUnsupportedObjectError>()));
44+
throwsA(const TypeMatcher<JsonUnsupportedObjectError>()));
4545
});
4646
}

pkgs/stream_channel/test/stream_channel_completer_test.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ void main() {
1414
late StreamChannel innerChannel;
1515
setUp(() {
1616
completer = StreamChannelCompleter();
17-
streamController = StreamController();
18-
sinkController = StreamController();
17+
streamController = StreamController<void>();
18+
sinkController = StreamController<void>();
1919
innerChannel = StreamChannel(streamController.stream, sinkController.sink);
2020
});
2121

pkgs/stream_channel/test/stream_channel_test.dart

Lines changed: 30 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,17 @@ import 'package:stream_channel/stream_channel.dart';
1010
import 'package:test/test.dart';
1111

1212
void main() {
13-
late StreamController streamController;
14-
late StreamController sinkController;
15-
late StreamChannel channel;
16-
setUp(() {
17-
streamController = StreamController();
18-
sinkController = StreamController();
19-
channel = StreamChannel(streamController.stream, sinkController.sink);
20-
});
21-
2213
test("pipe() pipes data from each channel's stream into the other's sink",
2314
() {
24-
var otherStreamController = StreamController();
25-
var otherSinkController = StreamController();
15+
var otherStreamController = StreamController<int>();
16+
var otherSinkController = StreamController<int>();
2617
var otherChannel =
2718
StreamChannel(otherStreamController.stream, otherSinkController.sink);
19+
20+
var streamController = StreamController<int>();
21+
var sinkController = StreamController<int>();
22+
var channel = StreamChannel(streamController.stream, sinkController.sink);
23+
2824
channel.pipe(otherChannel);
2925

3026
streamController.add(1);
@@ -41,6 +37,10 @@ void main() {
4137
});
4238

4339
test('transform() transforms the channel', () async {
40+
var streamController = StreamController<List<int>>();
41+
var sinkController = StreamController<List<int>>();
42+
var channel = StreamChannel(streamController.stream, sinkController.sink);
43+
4444
var transformed = channel
4545
.cast<List<int>>()
4646
.transform(StreamChannelTransformer.fromCodec(utf8));
@@ -59,6 +59,10 @@ void main() {
5959
});
6060

6161
test('transformStream() transforms only the stream', () async {
62+
var streamController = StreamController<String>();
63+
var sinkController = StreamController<String>();
64+
var channel = StreamChannel(streamController.stream, sinkController.sink);
65+
6266
var transformed =
6367
channel.cast<String>().transformStream(const LineSplitter());
6468

@@ -75,8 +79,12 @@ void main() {
7579
});
7680

7781
test('transformSink() transforms only the sink', () async {
82+
var streamController = StreamController<String>();
83+
var sinkController = StreamController<String>();
84+
var channel = StreamChannel(streamController.stream, sinkController.sink);
85+
7886
var transformed = channel.cast<String>().transformSink(
79-
StreamSinkTransformer.fromStreamTransformer(const LineSplitter()));
87+
const StreamSinkTransformer.fromStreamTransformer(LineSplitter()));
8088

8189
streamController.add('fbl\nthp');
8290
unawaited(streamController.close());
@@ -91,7 +99,11 @@ void main() {
9199
});
92100

93101
test('changeStream() changes the stream', () {
94-
var newController = StreamController();
102+
var streamController = StreamController<int>();
103+
var sinkController = StreamController<int>();
104+
var channel = StreamChannel(streamController.stream, sinkController.sink);
105+
106+
var newController = StreamController<int>();
95107
var changed = channel.changeStream((stream) {
96108
expect(stream, equals(channel.stream));
97109
return newController.stream;
@@ -107,7 +119,11 @@ void main() {
107119
});
108120

109121
test('changeSink() changes the sink', () {
110-
var newController = StreamController();
122+
var streamController = StreamController<int>();
123+
var sinkController = StreamController<int>();
124+
var channel = StreamChannel(streamController.stream, sinkController.sink);
125+
126+
var newController = StreamController<int>();
111127
var changed = channel.changeSink((sink) {
112128
expect(sink, equals(channel.sink));
113129
return newController.sink;

pkgs/stream_channel/test/with_close_guarantee_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ void main() {
4545
.listen(expectAsync1((event) {
4646
if (event == 2) channel.sink.close();
4747
}, count: 2))
48-
.asFuture(),
48+
.asFuture<void>(),
4949
completes);
5050

5151
await pumpEventQueue();

pkgs/stream_channel/test/with_guarantees_test.dart

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ void main() {
1212
late StreamController sinkController;
1313
late StreamChannel channel;
1414
setUp(() {
15-
streamController = StreamController();
16-
sinkController = StreamController();
15+
streamController = StreamController<void>();
16+
sinkController = StreamController<void>();
1717
channel = StreamChannel.withGuarantees(
1818
streamController.stream, sinkController.sink);
1919
});
@@ -53,7 +53,7 @@ void main() {
5353
.listen(expectAsync1((event) {
5454
if (event == 2) channel.sink.close();
5555
}, count: 2))
56-
.asFuture(),
56+
.asFuture<void>(),
5757
completes);
5858
});
5959

@@ -126,7 +126,7 @@ void main() {
126126
});
127127

128128
test("events can't be added while a stream is being added", () {
129-
var controller = StreamController();
129+
var controller = StreamController<void>();
130130
channel.sink.addStream(controller.stream);
131131

132132
expect(() => channel.sink.add(1), throwsStateError);
@@ -140,8 +140,8 @@ void main() {
140140

141141
group('with allowSinkErrors: false', () {
142142
setUp(() {
143-
streamController = StreamController();
144-
sinkController = StreamController();
143+
streamController = StreamController<void>();
144+
sinkController = StreamController<void>();
145145
channel = StreamChannel.withGuarantees(
146146
streamController.stream, sinkController.sink,
147147
allowSinkErrors: false);
@@ -166,7 +166,7 @@ void main() {
166166
.listen(expectAsync1((event) {
167167
if (event == 2) channel.sink.addError('oh no');
168168
}, count: 2))
169-
.asFuture(),
169+
.asFuture<void>(),
170170
completes);
171171
});
172172

@@ -180,7 +180,7 @@ void main() {
180180
'adding an error via via addStream causes the stream to emit a done '
181181
'event', () async {
182182
var canceled = false;
183-
var controller = StreamController(onCancel: () {
183+
var controller = StreamController<void>(onCancel: () {
184184
canceled = true;
185185
});
186186

0 commit comments

Comments
 (0)