@@ -73,8 +73,17 @@ export class WindowsMessagingTransport {
73
73
return new Promise ( ( resolve , reject ) => {
74
74
try {
75
75
subscribe ( this . config , comparator , opts , ( value , unsubscribe ) => {
76
- resolve ( value )
77
- unsubscribe ( )
76
+ unsubscribe ( ) ;
77
+ if ( 'result' in value ) {
78
+ resolve ( value [ 'result' ] ) ;
79
+ } else {
80
+ if ( 'error' in value ) {
81
+ reject ( new Error ( value . error . message || 'unknown error' ) )
82
+ } else {
83
+ console . warn ( 'unknown response' , value ) ;
84
+ reject ( new Error ( 'unknown response' ) )
85
+ }
86
+ }
78
87
} )
79
88
} catch ( e ) {
80
89
reject ( e )
@@ -91,7 +100,11 @@ export class WindowsMessagingTransport {
91
100
&& eventData . context === msg . context
92
101
&& eventData . subscriptionName === msg . subscriptionName
93
102
}
94
- return subscribe ( this . config , comparator , { } , callback )
103
+ const cb = ( eventData ) => {
104
+ if ( 'params' in eventData ) return callback ( eventData [ 'params' ] ) ;
105
+ console . warn ( "debug: params field missing in subscription event" , eventData )
106
+ }
107
+ return subscribe ( this . config , comparator , { } , cb )
95
108
}
96
109
}
97
110
@@ -174,7 +187,7 @@ function subscribe(config, comparator, options, callback) {
174
187
}
175
188
if ( comparator ( event . data ) ) {
176
189
if ( ! teardown ) throw new Error ( 'unreachable' )
177
- callback ( event . data . params , teardown )
190
+ callback ( event . data , teardown )
178
191
}
179
192
}
180
193
0 commit comments