@@ -59,14 +59,23 @@ const McuManagerEvents = new EventEmitter(
5959declare const UpgradeIdSymbol : unique symbol ;
6060type UpgradeID = string & { [ UpgradeIdSymbol ] : never } ;
6161
62+ type UpgradeEvent = 'upgradeStateChanged' | 'uploadProgress' ;
63+
64+ type UpgradeStateChangedPayload = {
65+ id : UpgradeID ;
66+ state : FirmwareUpgradeState ;
67+ } ;
68+ type UploadProgressPayload = { id : UpgradeID ; progress : number } ;
69+ type UpgradeEventPayload = UpgradeStateChangedPayload & UploadProgressPayload ;
70+
6271type AddUpgradeListener = {
6372 (
6473 eventType : 'upgradeStateChanged' ,
65- listener : ( { state } : { state : FirmwareUpgradeState } ) => void
74+ listener : ( event : UpgradeStateChangedPayload ) => void
6675 ) : Subscription ;
6776 (
6877 eventType : 'uploadProgress' ,
69- listener : ( { progress } : { progress : number } ) => void
78+ listener : ( event : UploadProgressPayload ) => void
7079 ) : Subscription ;
7180} ;
7281
@@ -106,10 +115,17 @@ class Upgrade {
106115 } ;
107116
108117 addListener : AddUpgradeListener = (
109- eventType : any ,
110- listener : ( ... args : any [ ] ) => void
118+ eventType : UpgradeEvent ,
119+ listener : ( event : UpgradeEventPayload ) => void
111120 ) : Subscription => {
112- return McuManagerEvents . addListener ( eventType , listener ) ;
121+ return McuManagerEvents . addListener < UpgradeEventPayload > (
122+ eventType ,
123+ ( event ) => {
124+ if ( event . id !== this . id ) return ;
125+
126+ listener ( event ) ;
127+ }
128+ ) ;
113129 } ;
114130
115131 /**
0 commit comments