Skip to content

Commit 417d866

Browse files
authored
Merge pull request #54 from zhuhaichao518/main
Fix build error in flutter beta channel caused by "function converted via 'toJS' contains invalid types"
2 parents e78507f + f27d27c commit 417d866

File tree

3 files changed

+29
-16
lines changed

3 files changed

+29
-16
lines changed

lib/src/media_stream_track_impl.dart

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,21 @@ import 'utils.dart';
1010

1111
class MediaStreamTrackWeb extends MediaStreamTrack {
1212
MediaStreamTrackWeb(this.jsTrack) {
13-
jsTrack.addEventListener('ended', ((event) => onEnded?.call()).toJS);
14-
jsTrack.addEventListener('mute', ((event) => onMute?.call()).toJS);
15-
jsTrack.addEventListener('unmute', ((event) => onUnMute?.call()).toJS);
13+
jsTrack.addEventListener(
14+
'ended',
15+
(web.Event event) {
16+
onEnded?.call();
17+
}.toJS);
18+
jsTrack.addEventListener(
19+
'mute',
20+
(web.Event event) {
21+
onMute?.call();
22+
}.toJS);
23+
jsTrack.addEventListener(
24+
'unmute',
25+
(web.Event event) {
26+
onUnMute?.call();
27+
}.toJS);
1628
}
1729

1830
final web.MediaStreamTrack jsTrack;

lib/src/rtc_data_channel_impl.dart

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,31 +11,32 @@ class RTCDataChannelWeb extends RTCDataChannel {
1111
messageStream = _messageController.stream;
1212
_jsDc.addEventListener(
1313
'close',
14-
(_) {
14+
(web.Event _) {
1515
_state = RTCDataChannelState.RTCDataChannelClosed;
1616
_stateChangeController.add(_state);
1717
onDataChannelState?.call(_state);
1818
}.toJS,
1919
false.toJS);
2020
_jsDc.addEventListener(
2121
'open',
22-
(_) {
22+
(web.Event _) {
2323
_state = RTCDataChannelState.RTCDataChannelOpen;
2424
_stateChangeController.add(_state);
2525
onDataChannelState?.call(_state);
2626
}.toJS,
2727
false.toJS);
2828
_jsDc.addEventListener(
2929
'message',
30-
(web.MessageEvent event) async {
31-
var msg = await _parse(event.data);
32-
_messageController.add(msg);
33-
onMessage?.call(msg);
30+
(web.MessageEvent event) {
31+
_parse(event.data).then((msg) {
32+
_messageController.add(msg);
33+
onMessage?.call(msg);
34+
});
3435
}.toJS,
3536
false.toJS);
3637
_jsDc.addEventListener(
3738
'bufferedamountlow',
38-
(_) {
39+
(web.Event _) {
3940
onBufferedAmountLow?.call(bufferedAmount ?? 0);
4041
}.toJS,
4142
false.toJS);

lib/src/rtc_peerconnection_impl.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,23 @@ class RTCPeerConnectionWeb extends RTCPeerConnection {
2727
RTCPeerConnectionWeb(this._peerConnectionId, this._jsPc) {
2828
_jsPc.addEventListener(
2929
'datachannel',
30-
(dataChannelEvent) {
30+
(web.RTCDataChannelEvent dataChannelEvent) {
3131
if (dataChannelEvent.channel != null) {
3232
onDataChannel?.call(RTCDataChannelWeb(dataChannelEvent.channel!));
3333
}
3434
}.toJS);
3535

3636
_jsPc.addEventListener(
3737
'icecandidate',
38-
(iceEvent) {
38+
(web.RTCPeerConnectionIceEvent iceEvent) {
3939
if (iceEvent.candidate != null) {
4040
onIceCandidate?.call(_iceFromJs(iceEvent.candidate!));
4141
}
4242
}.toJS);
4343

4444
_jsPc.addEventListener(
4545
'iceconnectionstatechange',
46-
(_) {
46+
(web.Event _) {
4747
_iceConnectionState =
4848
iceConnectionStateForString(_jsPc.iceConnectionState);
4949
onIceConnectionState?.call(_iceConnectionState!);
@@ -88,15 +88,15 @@ class RTCPeerConnectionWeb extends RTCPeerConnection {
8888

8989
_jsPc.addEventListener(
9090
'signalingstatechange',
91-
(_) {
91+
(web.Event _) {
9292
_signalingState = signalingStateForString(_jsPc.signalingState);
9393
onSignalingState?.call(_signalingState!);
9494
}.toJS);
9595

9696
if (!browser.isFirefox) {
9797
_jsPc.addEventListener(
9898
'connectionstatechange',
99-
(_) {
99+
(web.Event _) {
100100
_connectionState =
101101
peerConnectionStateForString(_jsPc.connectionState);
102102
onConnectionState?.call(_connectionState!);
@@ -105,7 +105,7 @@ class RTCPeerConnectionWeb extends RTCPeerConnection {
105105

106106
_jsPc.addEventListener(
107107
'negotiationneeded',
108-
(_) {
108+
(web.Event _) {
109109
onRenegotiationNeeded?.call();
110110
}.toJS);
111111

0 commit comments

Comments
 (0)