@@ -251,11 +251,13 @@ export abstract class OpenFeatureCommonAPI<
251251 . initialize ( domain ? ( this . _domainScopedContext . get ( domain ) ?? this . _context ) : this . _context )
252252 . then ( ( ) => {
253253 wrapper . status = this . _statusEnumType . READY ;
254+ const payload = { clientName : domain , domain, providerName : wrapper . provider . metadata . name } ;
255+
254256 // fetch the most recent event emitters, some may have been added during init
255257 this . getAssociatedEventEmitters ( domain ) . forEach ( ( emitter ) => {
256- emitter ?. emit ( AllProviderEvents . Ready , { clientName : domain , domain , providerName : wrapper . provider . metadata . name } ) ;
258+ emitter ?. emit ( AllProviderEvents . Ready , { ... payload } ) ;
257259 } ) ;
258- this . _apiEmitter ?. emit ( AllProviderEvents . Ready , { clientName : domain , domain , providerName : wrapper . provider . metadata . name } ) ;
260+ this . _apiEmitter ?. emit ( AllProviderEvents . Ready , { ... payload } ) ;
259261 } )
260262 . catch ( ( error ) => {
261263 // if this is a fatal error, transition to FATAL status
@@ -264,20 +266,19 @@ export abstract class OpenFeatureCommonAPI<
264266 } else {
265267 wrapper . status = this . _statusEnumType . ERROR ;
266268 }
267- this . getAssociatedEventEmitters ( domain ) . forEach ( ( emitter ) => {
268- emitter ?. emit ( AllProviderEvents . Error , {
269- clientName : domain ,
270- domain,
271- providerName : wrapper . provider . metadata . name ,
272- message : error ?. message ,
273- } ) ;
274- } ) ;
275- this . _apiEmitter ?. emit ( AllProviderEvents . Error , {
269+ const payload = {
276270 clientName : domain ,
277271 domain,
278272 providerName : wrapper . provider . metadata . name ,
279273 message : error ?. message ,
274+ } ;
275+
276+ // fetch the most recent event emitters, some may have been added during init
277+ this . getAssociatedEventEmitters ( domain ) . forEach ( ( emitter ) => {
278+ emitter ?. emit ( AllProviderEvents . Error , { ...payload } ) ;
280279 } ) ;
280+ this . _apiEmitter ?. emit ( AllProviderEvents . Error , { ...payload } ) ;
281+
281282 // rethrow after emitting error events, so that public methods can control error handling
282283 throw error ;
283284 } )
0 commit comments