1515 */ 
1616
1717import  {  EventEmitter  }  from  "events" ; 
18+ 
1819import  {  ITransport  }  from  "./transport/ITransport" ; 
1920import  {  Widget  }  from  "./models/Widget" ; 
2021import  {  PostmessageTransport  }  from  "./transport/PostmessageTransport" ; 
@@ -213,12 +214,12 @@ export class ClientWidgetApi extends EventEmitter {
213214        return  this . allowedEvents . some ( e  =>  e . matchesAsRoomAccountData ( EventDirection . Receive ,  eventType ) ) ; 
214215    } 
215216
216-     public  stop ( )  { 
217+     public  stop ( ) :  void { 
217218        this . isStopped  =  true ; 
218219        this . transport . stop ( ) ; 
219220    } 
220221
221-     private  beginCapabilities ( )  { 
222+     private  beginCapabilities ( ) :  void { 
222223        // widget has loaded - tell all the listeners that 
223224        this . emit ( "preparing" ) ; 
224225
@@ -239,18 +240,18 @@ export class ClientWidgetApi extends EventEmitter {
239240        } ) ; 
240241    } 
241242
242-     private  notifyCapabilities ( requested : Capability [ ] )  { 
243+     private  notifyCapabilities ( requested : Capability [ ] ) :  void { 
243244        this . transport . send ( WidgetApiToWidgetAction . NotifyCapabilities ,  < INotifyCapabilitiesActionRequestData > { 
244245            requested : requested , 
245246            approved : Array . from ( this . allowedCapabilities ) , 
246247        } ) . catch ( e  =>  { 
247248            console . warn ( "non-fatal error notifying widget of approved capabilities:" ,  e ) ; 
248249        } ) . then ( ( )  =>  { 
249-             this . emit ( "capabilitiesNotified" ) 
250+             this . emit ( "capabilitiesNotified" ) ; 
250251        } ) ; 
251252    } 
252253
253-     private  onIframeLoad ( ev : Event )  { 
254+     private  onIframeLoad ( ev : Event ) :  void { 
254255        if  ( this . widget . waitForIframeLoad )  { 
255256            // If the widget is set to waitForIframeLoad the capabilities immediatly get setup after load. 
256257            // The client does not wait for the ContentLoaded action. 
@@ -268,7 +269,7 @@ export class ClientWidgetApi extends EventEmitter {
268269        } 
269270    } 
270271
271-     private  handleContentLoadedAction ( action : IContentLoadedActionRequest )  { 
272+     private  handleContentLoadedAction ( action : IContentLoadedActionRequest ) :  void { 
272273        if  ( this . contentLoadedWaitTimer  !==  undefined )  { 
273274            clearTimeout ( this . contentLoadedWaitTimer ) ; 
274275            this . contentLoadedWaitTimer  =  undefined ; 
@@ -291,13 +292,13 @@ export class ClientWidgetApi extends EventEmitter {
291292        this . contentLoadedActionSent  =  true ; 
292293    } 
293294
294-     private  replyVersions ( request : ISupportedVersionsActionRequest )  { 
295+     private  replyVersions ( request : ISupportedVersionsActionRequest ) :  void { 
295296        this . transport . reply < ISupportedVersionsActionResponseData > ( request ,  { 
296297            supported_versions : CurrentApiVersions , 
297298        } ) ; 
298299    } 
299300
300-     private  handleCapabilitiesRenegotiate ( request : IRenegotiateCapabilitiesActionRequest )  { 
301+     private  handleCapabilitiesRenegotiate ( request : IRenegotiateCapabilitiesActionRequest ) :  void { 
301302        // acknowledge first 
302303        this . transport . reply < IWidgetApiAcknowledgeResponseData > ( request ,  { } ) ; 
303304
@@ -318,7 +319,7 @@ export class ClientWidgetApi extends EventEmitter {
318319        } ) ; 
319320    } 
320321
321-     private  handleNavigate ( request : INavigateActionRequest )  { 
322+     private  handleNavigate ( request : INavigateActionRequest ) :  void { 
322323        if  ( ! this . hasCapability ( MatrixCapabilities . MSC2931Navigate ) )  { 
323324            return  this . transport . reply < IWidgetApiErrorResponseData > ( request ,  { 
324325                error : { message : "Missing capability" } , 
@@ -331,7 +332,7 @@ export class ClientWidgetApi extends EventEmitter {
331332            } ) ; 
332333        } 
333334
334-         const  onErr  =  ( e : unknown )  =>  { 
335+         const  onErr  =  ( e : unknown ) :  void =>  { 
335336            console . error ( "[ClientWidgetApi] Failed to handle navigation: " ,  e ) ; 
336337            this . handleDriverError ( e ,  request ,  "Error handling navigation" ) ; 
337338        } ; 
@@ -345,10 +346,10 @@ export class ClientWidgetApi extends EventEmitter {
345346        } 
346347    } 
347348
348-     private  handleOIDC ( request : IGetOpenIDActionRequest )  { 
349+     private  handleOIDC ( request : IGetOpenIDActionRequest ) :  void { 
349350        let  phase  =  1 ;  // 1 = initial request, 2 = after user manual confirmation 
350351
351-         const  replyState  =  ( state : OpenIDRequestState ,  credential ?: IOpenIDCredentials )  =>  { 
352+         const  replyState  =  ( state : OpenIDRequestState ,  credential ?: IOpenIDCredentials ) :  void   |   Promise < IWidgetApiAcknowledgeResponseData >  =>  { 
352353            credential  =  credential  ||  { } ; 
353354            if  ( phase  >  1 )  { 
354355                return  this . transport . send < IOpenIDCredentialsActionRequestData > ( 
@@ -367,7 +368,7 @@ export class ClientWidgetApi extends EventEmitter {
367368            } 
368369        } ; 
369370
370-         const  replyError  =  ( msg : string )  =>  { 
371+         const  replyError  =  ( msg : string ) :  void   |   Promise < IWidgetApiAcknowledgeResponseData >  =>  { 
371372            console . error ( "[ClientWidgetApi] Failed to handle OIDC: " ,  msg ) ; 
372373            if  ( phase  >  1 )  { 
373374                // We don't have a way to indicate that a random error happened in this flow, so 
@@ -405,7 +406,7 @@ export class ClientWidgetApi extends EventEmitter {
405406
406407        this . driver . askOpenID ( observer ) ; 
407408    } 
408-     private  handleReadRoomAccountData ( request : IReadRoomAccountDataFromWidgetActionRequest )  { 
409+     private  handleReadRoomAccountData ( request : IReadRoomAccountDataFromWidgetActionRequest ) :  void   |   Promise < void >  { 
409410        let  events : Promise < IRoomAccountData [ ] >  =  Promise . resolve ( [ ] ) ; 
410411        events  =  this . driver . readRoomAccountData ( request . data . type ) ; 
411412
@@ -416,11 +417,11 @@ export class ClientWidgetApi extends EventEmitter {
416417        } 
417418
418419        return  events . then ( ( evs )  =>  { 
419-             this . transport . reply < IReadRoomAccountDataFromWidgetResponseData > ( request ,  { events : evs } ) 
420+             this . transport . reply < IReadRoomAccountDataFromWidgetResponseData > ( request ,  { events : evs } ) ; 
420421        } ) ; 
421422    } 
422423
423-     private  handleReadEvents ( request : IReadEventFromWidgetActionRequest )  { 
424+     private  handleReadEvents ( request : IReadEventFromWidgetActionRequest ) :  void   |   Promise < void >  { 
424425        if  ( ! request . data . type )  { 
425426            return  this . transport . reply < IWidgetApiErrorResponseData > ( request ,  { 
426427                error : { message : "Invalid request - missing event type" } , 
@@ -434,9 +435,10 @@ export class ClientWidgetApi extends EventEmitter {
434435
435436        let  askRoomIds : string [ ]  |  null  =  null ;  // null denotes current room only 
436437        if  ( request . data . room_ids )  { 
437-             askRoomIds  =  request . data . room_ids  as  string [ ] ; 
438-             if  ( ! Array . isArray ( askRoomIds ) )  { 
439-                 askRoomIds  =  [ askRoomIds  as  any  as  string ] ; 
438+             if  ( Array . isArray ( request . data . room_ids ) )  { 
439+                 askRoomIds  =  request . data . room_ids ; 
440+             }  else  { 
441+                 askRoomIds  =  [ request . data . room_ids ] ; 
440442            } 
441443            for  ( const  roomId  of  askRoomIds )  { 
442444                if  ( ! this . canUseRoomTimeline ( roomId ) )  { 
@@ -471,7 +473,7 @@ export class ClientWidgetApi extends EventEmitter {
471473        return  events . then ( evs  =>  this . transport . reply < IReadEventFromWidgetResponseData > ( request ,  { events : evs } ) ) ; 
472474    } 
473475
474-     private  handleSendEvent ( request : ISendEventFromWidgetActionRequest )  { 
476+     private  handleSendEvent ( request : ISendEventFromWidgetActionRequest ) :  void { 
475477        if  ( ! request . data . type )  { 
476478            return  this . transport . reply < IWidgetApiErrorResponseData > ( request ,  { 
477479                error : { message : "Invalid request - missing event type" } , 
@@ -559,7 +561,7 @@ export class ClientWidgetApi extends EventEmitter {
559561        } ) ; 
560562    } 
561563
562-     private  handleUpdateDelayedEvent ( request : IUpdateDelayedEventFromWidgetActionRequest )  { 
564+     private  handleUpdateDelayedEvent ( request : IUpdateDelayedEventFromWidgetActionRequest ) :  void { 
563565        if  ( ! request . data . delay_id )  { 
564566            return  this . transport . reply < IWidgetApiErrorResponseData > ( request ,  { 
565567                error : { message : "Invalid request - missing delay_id" } , 
@@ -618,7 +620,7 @@ export class ClientWidgetApi extends EventEmitter {
618620        } 
619621    } 
620622
621-     private  async  pollTurnServers ( turnServers : AsyncGenerator < ITurnServer > ,  initialServer : ITurnServer )  { 
623+     private  async  pollTurnServers ( turnServers : AsyncGenerator < ITurnServer > ,  initialServer : ITurnServer ) :  Promise < void >  { 
622624        try  { 
623625            await  this . transport . send < IUpdateTurnServersRequestData > ( 
624626                WidgetApiToWidgetAction . UpdateTurnServers , 
@@ -683,7 +685,7 @@ export class ClientWidgetApi extends EventEmitter {
683685        } 
684686    } 
685687
686-     private  async  handleReadRelations ( request : IReadRelationsFromWidgetActionRequest )  { 
688+     private  async  handleReadRelations ( request : IReadRelationsFromWidgetActionRequest ) :  Promise < void >  { 
687689        if  ( ! request . data . event_id )  { 
688690            return  this . transport . reply < IWidgetApiErrorResponseData > ( request ,  { 
689691                error : {  message : "Invalid request - missing event ID"  } , 
@@ -732,7 +734,7 @@ export class ClientWidgetApi extends EventEmitter {
732734        } 
733735    } 
734736
735-     private  async  handleUserDirectorySearch ( request : IUserDirectorySearchFromWidgetActionRequest )  { 
737+     private  async  handleUserDirectorySearch ( request : IUserDirectorySearchFromWidgetActionRequest ) :  Promise < void >  { 
736738        if  ( ! this . hasCapability ( MatrixCapabilities . MSC3973UserDirectorySearch ) )  { 
737739            return  this . transport . reply < IWidgetApiErrorResponseData > ( request ,  { 
738740                error : {  message : "Missing capability"  } , 
@@ -773,15 +775,15 @@ export class ClientWidgetApi extends EventEmitter {
773775        } 
774776    } 
775777
776-     private  async  handleGetMediaConfig ( request : IGetMediaConfigActionFromWidgetActionRequest )  { 
778+     private  async  handleGetMediaConfig ( request : IGetMediaConfigActionFromWidgetActionRequest ) :  Promise < void >  { 
777779        if  ( ! this . hasCapability ( MatrixCapabilities . MSC4039UploadFile ) )  { 
778780            return  this . transport . reply < IWidgetApiErrorResponseData > ( request ,  { 
779781                error : {  message : "Missing capability"  } , 
780782            } ) ; 
781783        } 
782784
783785        try  { 
784-             const  result  =  await  this . driver . getMediaConfig ( ) 
786+             const  result  =  await  this . driver . getMediaConfig ( ) ; 
785787
786788            return  this . transport . reply < IGetMediaConfigActionFromWidgetResponseData > ( 
787789                request , 
@@ -793,7 +795,7 @@ export class ClientWidgetApi extends EventEmitter {
793795        } 
794796    } 
795797
796-     private  async  handleUploadFile ( request : IUploadFileActionFromWidgetActionRequest )  { 
798+     private  async  handleUploadFile ( request : IUploadFileActionFromWidgetActionRequest ) :  Promise < void >  { 
797799        if  ( ! this . hasCapability ( MatrixCapabilities . MSC4039UploadFile ) )  { 
798800            return  this . transport . reply < IWidgetApiErrorResponseData > ( request ,  { 
799801                error : {  message : "Missing capability"  } , 
@@ -833,7 +835,7 @@ export class ClientWidgetApi extends EventEmitter {
833835        } 
834836    } 
835837
836-     private  handleDriverError ( e : unknown ,  request : IWidgetApiRequest ,  message : string )  { 
838+     private  handleDriverError ( e : unknown ,  request : IWidgetApiRequest ,  message : string ) :  void { 
837839        const  data  =  this . driver . processError ( e ) ; 
838840        this . transport . reply < IWidgetApiErrorResponseData > ( request ,  { 
839841            error : { 
@@ -843,7 +845,7 @@ export class ClientWidgetApi extends EventEmitter {
843845        } ) ; 
844846    } 
845847
846-     private  handleMessage ( ev : CustomEvent < IWidgetApiRequest > )  { 
848+     private  handleMessage ( ev : CustomEvent < IWidgetApiRequest > ) :  void   |   Promise < void >  { 
847849        if  ( this . isStopped )  return ; 
848850        const  actionEv  =  new  CustomEvent ( `action:${ ev . detail . action }  ,  { 
849851            detail : ev . detail , 
@@ -875,7 +877,7 @@ export class ClientWidgetApi extends EventEmitter {
875877                case  WidgetApiFromWidgetAction . MSC3869ReadRelations :
876878                    return  this . handleReadRelations ( < IReadRelationsFromWidgetActionRequest > ev . detail ) ; 
877879                case  WidgetApiFromWidgetAction . MSC3973UserDirectorySearch :
878-                     return  this . handleUserDirectorySearch ( < IUserDirectorySearchFromWidgetActionRequest > ev . detail ) 
880+                     return  this . handleUserDirectorySearch ( < IUserDirectorySearchFromWidgetActionRequest > ev . detail ) ; 
879881                case  WidgetApiFromWidgetAction . BeeperReadRoomAccountData :
880882                    return  this . handleReadRoomAccountData ( < IReadRoomAccountDataFromWidgetActionRequest > ev . detail ) ; 
881883                case  WidgetApiFromWidgetAction . MSC4039GetMediaConfigAction :
0 commit comments