Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: code optimization #1557

Merged
merged 2 commits into from Jul 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions internal/encoding/dotenv/map_utils.go
Expand Up @@ -24,9 +24,9 @@ func flattenAndMergeMap(shadow map[string]interface{}, m map[string]interface{},
}
for k, val := range m {
fullKey := prefix + k
switch val.(type) {
switch val := val.(type) {
case map[string]interface{}:
m2 = val.(map[string]interface{})
m2 = val
case map[interface{}]interface{}:
m2 = cast.ToStringMap(val)
default:
Expand Down
4 changes: 2 additions & 2 deletions internal/encoding/ini/map_utils.go
Expand Up @@ -57,9 +57,9 @@ func flattenAndMergeMap(shadow map[string]interface{}, m map[string]interface{},
}
for k, val := range m {
fullKey := prefix + k
switch val.(type) {
switch val := val.(type) {
case map[string]interface{}:
m2 = val.(map[string]interface{})
m2 = val
case map[interface{}]interface{}:
m2 = cast.ToStringMap(val)
default:
Expand Down
4 changes: 2 additions & 2 deletions internal/encoding/javaproperties/map_utils.go
Expand Up @@ -57,9 +57,9 @@ func flattenAndMergeMap(shadow map[string]interface{}, m map[string]interface{},
}
for k, val := range m {
fullKey := prefix + k
switch val.(type) {
switch val := val.(type) {
case map[string]interface{}:
m2 = val.(map[string]interface{})
m2 = val
case map[interface{}]interface{}:
m2 = cast.ToStringMap(val)
default:
Expand Down
4 changes: 2 additions & 2 deletions overrides_test.go
Expand Up @@ -156,11 +156,11 @@ func deepCheckValue(assert *assert.Assertions, v *Viper, l layer, keys []string,
}

// deep scan of the map to get the final value
switch val.(type) {
switch val := val.(type) {
case map[interface{}]interface{}:
m = cast.ToStringMap(val)
case map[string]interface{}:
m = val.(map[string]interface{})
m = val
default:
assert.Fail(fmt.Sprintf("%s is not a map[string]interface{}", ms))
return
Expand Down
6 changes: 3 additions & 3 deletions util.go
Expand Up @@ -70,17 +70,17 @@ func copyAndInsensitiviseMap(m map[string]interface{}) map[string]interface{} {
}

func insensitiviseVal(val interface{}) interface{} {
switch val.(type) {
switch v := val.(type) {
case map[interface{}]interface{}:
// nested map: cast and recursively insensitivise
val = cast.ToStringMap(val)
insensitiviseMap(val.(map[string]interface{}))
case map[string]interface{}:
// nested map: recursively insensitivise
insensitiviseMap(val.(map[string]interface{}))
insensitiviseMap(v)
case []interface{}:
// nested array: recursively insensitivise
insensitiveArray(val.([]interface{}))
insensitiveArray(v)
}
return val
}
Expand Down
8 changes: 4 additions & 4 deletions viper.go
Expand Up @@ -666,13 +666,13 @@ func (v *Viper) searchMap(source map[string]interface{}, path []string) interfac
}

// Nested case
switch next.(type) {
switch next := next.(type) {
case map[interface{}]interface{}:
return v.searchMap(cast.ToStringMap(next), path[1:])
case map[string]interface{}:
// Type assertion is safe here since it is only reached
// if the type of `next` is the same as the type being asserted
return v.searchMap(next.(map[string]interface{}), path[1:])
return v.searchMap(next, path[1:])
default:
// got a value but nested key expected, return "nil" for not found
return nil
Expand Down Expand Up @@ -2051,9 +2051,9 @@ func (v *Viper) flattenAndMergeMap(shadow map[string]bool, m map[string]interfac
}
for k, val := range m {
fullKey := prefix + k
switch val.(type) {
switch val := val.(type) {
case map[string]interface{}:
m2 = val.(map[string]interface{})
m2 = val
case map[interface{}]interface{}:
m2 = cast.ToStringMap(val)
default:
Expand Down