@@ -43,27 +43,27 @@ export class Socket {
4343 return this . connection ?. socket . readyState || WebSocket . CLOSED ;
4444 }
4545
46- setFeeds = ( feeds ) => {
46+ setFeeds = async ( feeds ) => {
4747 if ( typeof feeds === 'string' ) feeds = [ feeds ] ;
4848 feeds = makeSetReadOnly ( new Set ( feeds || [ ] ) , ( ) => {
4949 throw new Error . ReadOnlyFeedSet ( ) ;
5050 } ) ;
5151 if ( ! this . feeds || ! compareSets ( this . feeds , feeds ) ) {
5252 this . debug ( 'New feed count:' , feeds . size ) ;
5353 defineProperty ( this , 'feeds' , ( ) => feeds ) ;
54- this . setEnabled ( this . enabled ) ;
54+ return await this . setEnabled ( this . enabled ) ;
5555 }
5656 }
5757
58- setEnabled ( enabled ) {
58+ setEnabled = async ( enabled ) => {
5959 if ( this . enabled != enabled ) {
6060 this . debug ( enabled ? 'Enabling' : 'Disabling' )
6161 defineProperty ( this , 'enabled' , ( ) => enabled ) ;
62- }
63- if ( this . enabled ) {
64- return this . connect ( ) ;
65- } else {
66- return this . connection ?. close ( ) ;
62+ if ( this . enabled ) {
63+ return await this . connect ( ) ;
64+ } else {
65+ return await this . connection ?. close ( ) ;
66+ }
6767 }
6868 }
6969
@@ -214,7 +214,7 @@ function afterSocketOpen (socket, callback = x => x) {
214214 once ( socket , 'open' , ( ) => resolve ( callback ( socket ) ) ) ;
215215 once ( socket , 'error' , ( ) => reject ( new Error ( 'afterSocketOpen: connection failed' ) ) ) ;
216216 return
217- case WebSocket . CONNECTED :
217+ case WebSocket . OPEN :
218218 return resolve ( callback ( socket ) ) ;
219219 case WebSocket . CLOSING :
220220 return reject ( new Error ( 'afterSocketOpen: called on closing socket' ) )
@@ -230,13 +230,15 @@ function afterSocketClose (socket, callback = x => x) {
230230 return new Promise ( ( resolve , reject ) => {
231231 switch ( socket . readyState ) {
232232 case WebSocket . CONNECTING :
233- case WebSocket . CONNECTED :
233+ case WebSocket . OPEN :
234234 case WebSocket . CLOSING :
235235 return once ( socket , 'close' , ( ) => resolve ( callback ( socket ) ) ) ;
236236 case WebSocket . CLOSED :
237237 return resolve ( callback ( socket ) ) ;
238238 default :
239- return reject ( new Error ( 'afterSocketClose: invalid WebSocket readyState' ) ) ;
239+ return reject (
240+ new Error ( `afterSocketClose: invalid WebSocket readyState: ${ socket . readyState } ` )
241+ ) ;
240242 }
241243 } )
242244}
0 commit comments