in azureappconfiguration/azureappconfiguration.go [254:287]
func deduplicateSelectors(selectors []Selector) []Selector {
// If no selectors provided, return the default selector
if len(selectors) == 0 {
return []Selector{
{
KeyFilter: wildCard,
LabelFilter: defaultLabel,
},
}
}
// Create a map to track unique selectors
seen := make(map[Selector]struct{})
var result []Selector
// Process the selectors in reverse order to maintain the behavior
// where later duplicates take precedence over earlier ones
for i := len(selectors) - 1; i >= 0; i-- {
// Normalize empty label filter
if selectors[i].LabelFilter == "" {
selectors[i].LabelFilter = defaultLabel
}
// Check if we've seen this selector before
if _, exists := seen[selectors[i]]; !exists {
seen[selectors[i]] = struct{}{}
result = append(result, selectors[i])
}
}
// Reverse the result to maintain the original order
reverse(result)
return result
}