11/// If you change this file, you should apply the same changes to the 'parse_websocket_io.dart' file
22library ;
33
4- import 'dart:async' ;
4+ // ignore: deprecated_member_use
5+ import 'dart:html' as html;
56
6- import 'package:socket_io_client/socket_io_client.dart' as io;
77import 'package:web_socket_channel/html.dart' ;
88import 'package:web_socket_channel/web_socket_channel.dart' ;
99
@@ -14,41 +14,19 @@ class WebSocket {
1414 static const int open = 1 ;
1515 static const int closing = 2 ;
1616 static const int closed = 3 ;
17- final io.Socket _webSocket;
18-
19- static final Map <String , int > _states = {
20- 'closed' : 3 ,
21- 'opening' : 0 ,
22- 'open' : 1 ,
23- 'closing' : 2 ,
24- };
17+
18+ final html.WebSocket _webSocket;
19+
2520 static Future <WebSocket > connect (String liveQueryURL) async {
26- Completer <WebSocket > completer = Completer ();
27- final io.Socket webSocket = io.io (
28- liveQueryURL,
29- io.OptionBuilder ()
30- .setTransports (['websocket' ])
31- .enableReconnection ()
32- .build (),
33- );
34- webSocket.connect ();
35- webSocket.onConnect ((handler) {
36- if (! completer.isCompleted) {
37- completer.complete (WebSocket ._(webSocket));
38- }
39- });
40- webSocket.onConnectError ((handler) {
41- if (! completer.isCompleted) {
42- completer.completeError ('unable to connect to the server $handler ' );
43- }
44- });
45-
46- return completer.future;
21+ final html.WebSocket webSocket = html.WebSocket (liveQueryURL);
22+ await webSocket.onOpen.first;
23+ return WebSocket ._(webSocket);
4724 }
4825
49- int get readyState => _states[_webSocket.io.readyState]! ;
50- Future <io.Socket > close () async {
51- return _webSocket.disconnect ();
26+ int get readyState => _webSocket.readyState;
27+
28+ Future <void > close () async {
29+ return _webSocket.close ();
5230 }
5331
5432 WebSocketChannel createWebSocketChannel () {
0 commit comments