@@ -252,19 +252,13 @@ export abstract class OpenFeatureCommonAPI<
252252 . initialize ( domain ? ( this . _domainScopedContext . get ( domain ) ?? this . _context ) : this . _context )
253253 . then ( ( ) => {
254254 wrapper . status = this . _statusEnumType . READY ;
255+ const payload = { clientName : domain , domain, providerName : wrapper . provider . metadata . name } ;
256+
255257 // fetch the most recent event emitters, some may have been added during init
256258 this . getAssociatedEventEmitters ( domain ) . forEach ( ( emitter ) => {
257- emitter ?. emit ( AllProviderEvents . Ready , {
258- clientName : domain ,
259- domain,
260- providerName : wrapper . provider . metadata . name ,
261- } ) ;
262- } ) ;
263- this . _apiEmitter ?. emit ( AllProviderEvents . Ready , {
264- clientName : domain ,
265- domain,
266- providerName : wrapper . provider . metadata . name ,
259+ emitter ?. emit ( AllProviderEvents . Ready , { ...payload } ) ;
267260 } ) ;
261+ this . _apiEmitter ?. emit ( AllProviderEvents . Ready , { ...payload } ) ;
268262 } )
269263 . catch ( ( error ) => {
270264 // if this is a fatal error, transition to FATAL status
@@ -273,20 +267,19 @@ export abstract class OpenFeatureCommonAPI<
273267 } else {
274268 wrapper . status = this . _statusEnumType . ERROR ;
275269 }
276- this . getAssociatedEventEmitters ( domain ) . forEach ( ( emitter ) => {
277- emitter ?. emit ( AllProviderEvents . Error , {
278- clientName : domain ,
279- domain,
280- providerName : wrapper . provider . metadata . name ,
281- message : error ?. message ,
282- } ) ;
283- } ) ;
284- this . _apiEmitter ?. emit ( AllProviderEvents . Error , {
270+ const payload = {
285271 clientName : domain ,
286272 domain,
287273 providerName : wrapper . provider . metadata . name ,
288274 message : error ?. message ,
275+ } ;
276+
277+ // fetch the most recent event emitters, some may have been added during init
278+ this . getAssociatedEventEmitters ( domain ) . forEach ( ( emitter ) => {
279+ emitter ?. emit ( AllProviderEvents . Error , { ...payload } ) ;
289280 } ) ;
281+ this . _apiEmitter ?. emit ( AllProviderEvents . Error , { ...payload } ) ;
282+
290283 // rethrow after emitting error events, so that public methods can control error handling
291284 throw error ;
292285 } )
0 commit comments