mirror of
https://github.com/spf13/viper
synced 2025-05-11 22:57:21 +00:00
add parsing for stringToString flags
This commit is contained in:
parent
97ee7adfef
commit
6d67515500
1 changed files with 10 additions and 0 deletions
10
viper.go
10
viper.go
|
@ -1083,6 +1083,16 @@ func (v *Viper) find(lcaseKey string, flagDefault bool) interface{} {
|
||||||
s = strings.TrimSuffix(s, "]")
|
s = strings.TrimSuffix(s, "]")
|
||||||
res, _ := readAsCSV(s)
|
res, _ := readAsCSV(s)
|
||||||
return cast.ToIntSlice(res)
|
return cast.ToIntSlice(res)
|
||||||
|
case "stringToString":
|
||||||
|
s := strings.TrimPrefix(flag.ValueString(), "[")
|
||||||
|
s = strings.TrimSuffix(s, "]")
|
||||||
|
elements := strings.Split(s, ",")
|
||||||
|
result := make(map[string]string, len(elements))
|
||||||
|
for _, element := range elements {
|
||||||
|
pair := strings.SplitN(element, "=", 2)
|
||||||
|
result[pair[0]] = pair[1]
|
||||||
|
}
|
||||||
|
return result
|
||||||
default:
|
default:
|
||||||
return flag.ValueString()
|
return flag.ValueString()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue