处理find方法中 ToStringMapE 不支持map[string]string map[string]FlagValue 转 map[string]interface{}

This commit is contained in:
nizhiguo 2024-08-26 14:50:47 +08:00
parent 0c7eef9240
commit 9cc584a3b7

View file

@ -542,9 +542,11 @@ func (v *Viper) isPathShadowedInDeepMap(path []string, m map[string]interface{})
func (v *Viper) isPathShadowedInFlatMap(path []string, mi interface{}) string { func (v *Viper) isPathShadowedInFlatMap(path []string, mi interface{}) string {
// unify input map // unify input map
var m map[string]interface{} var m map[string]interface{}
switch mi.(type) { switch miv := mi.(type) {
case map[string]string, map[string]FlagValue: case map[string]string:
m = cast.ToStringMap(mi) m = castMapStringToMapInterface(miv)
case map[string]FlagValue:
m = castMapFlagToMapInterface(miv)
default: default:
return "" return ""
} }