chore: guard switch against duplicate cases

This commit is contained in:
andig 2023-11-27 13:08:52 +05:00
parent e17adc2425
commit 36945bad07

View file

@ -32,6 +32,14 @@ func NewSwitchFromConfig(other map[string]interface{}) (Provider, error) {
return nil, err
}
cases := make(map[string]struct{})
for _, c := range cc.Switch {
if _, ok := cases[c.Case]; ok {
return nil, fmt.Errorf("switch: duplicate case: %s", c.Case)
}
cases[c.Case] = struct{}{}
}
o := &switchProvider{
cases: cc.Switch,
dflt: cc.Default,