@@ -59,14 +59,23 @@ const McuManagerEvents = new EventEmitter(
59
59
declare const UpgradeIdSymbol : unique symbol ;
60
60
type UpgradeID = string & { [ UpgradeIdSymbol ] : never } ;
61
61
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
+
62
71
type AddUpgradeListener = {
63
72
(
64
73
eventType : 'upgradeStateChanged' ,
65
- listener : ( { state } : { state : FirmwareUpgradeState } ) => void
74
+ listener : ( event : UpgradeStateChangedPayload ) => void
66
75
) : Subscription ;
67
76
(
68
77
eventType : 'uploadProgress' ,
69
- listener : ( { progress } : { progress : number } ) => void
78
+ listener : ( event : UploadProgressPayload ) => void
70
79
) : Subscription ;
71
80
} ;
72
81
@@ -106,10 +115,17 @@ class Upgrade {
106
115
} ;
107
116
108
117
addListener : AddUpgradeListener = (
109
- eventType : any ,
110
- listener : ( ... args : any [ ] ) => void
118
+ eventType : UpgradeEvent ,
119
+ listener : ( event : UpgradeEventPayload ) => void
111
120
) : 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
+ ) ;
113
129
} ;
114
130
115
131
/**
0 commit comments