@@ -3,6 +3,7 @@ package openfeature
33import (
44 "fmt"
55 "log/slog"
6+ "maps"
67 "slices"
78 "sync"
89 "time"
@@ -229,7 +230,6 @@ func (e *eventExecutor) registerNamedEventingProvider(associatedClient string, p
229230// startListeningAndShutdownOld is a helper to start concurrent listening to new provider events and invoke shutdown
230231// hook of the old provider if it's not bound by another subscription
231232func (e * eventExecutor ) startListeningAndShutdownOld (newProvider providerReference , oldReference providerReference ) error {
232-
233233 // check if this provider already actively handled - 1:N binding capability
234234 if ! isRunning (newProvider , e .activeSubscriptions ) {
235235 e .activeSubscriptions = append (e .activeSubscriptions , newProvider )
@@ -258,7 +258,7 @@ func (e *eventExecutor) startListeningAndShutdownOld(newProvider providerReferen
258258 // shutdown old provider handling
259259
260260 // check if this provider is still bound - 1:N binding capability
261- if isBound (oldReference , e .defaultProviderReference , mapValues ( e .namedProviderReference )) {
261+ if isBound (oldReference , e .defaultProviderReference , slices . Collect ( maps . Values ( e .namedProviderReference ) )) {
262262 return nil
263263 }
264264
@@ -335,7 +335,6 @@ func (e *eventExecutor) triggerEvent(event Event, handler FeatureProvider) {
335335 e .executeHandler (* c , event )
336336 }
337337 }
338-
339338}
340339
341340// executeHandler is a helper which performs the actual invocation of the callback
@@ -358,15 +357,6 @@ func (e *eventExecutor) executeHandler(f func(details EventDetails), event Event
358357 }()
359358}
360359
361- // mapValues is a helper until we bump to a go version with maps.Values and slices.Collect
362- func mapValues [K comparable , V any ](m map [K ]V ) []V {
363- var values []V
364- for _ , value := range m {
365- values = append (values , value )
366- }
367- return values
368- }
369-
370360// isRunning is a helper to check if the given provider is in the given list of providers
371361func isRunning (provider providerReference , activeProviders []providerReference ) bool {
372362 return slices .ContainsFunc (activeProviders , provider .equals )
0 commit comments