github.com/argoproj/argo-cd/v3@v3.2.1/applicationset/utils/map.go (about) 1 package utils 2 3 import ( 4 "fmt" 5 ) 6 7 func ConvertToMapStringString(mapStringInterface map[string]any) map[string]string { 8 mapStringString := make(map[string]string, len(mapStringInterface)) 9 10 for key, value := range mapStringInterface { 11 mapStringString[key] = fmt.Sprintf("%v", value) 12 } 13 return mapStringString 14 } 15 16 func CombineStringMaps(aSI map[string]any, bSI map[string]any) (map[string]any, error) { 17 a := ConvertToMapStringString(aSI) 18 b := ConvertToMapStringString(bSI) 19 20 res := map[string]any{} 21 22 for k, v := range a { 23 res[k] = v 24 } 25 26 for k, v := range b { 27 current, present := res[k] 28 if present && current != v { 29 return nil, fmt.Errorf("found duplicate key %s with different value, a: %s ,b: %s", k, current, v) 30 } 31 res[k] = v 32 } 33 34 return res, nil 35 }