Skip to content
This repository was archived by the owner on Jun 10, 2022. It is now read-only.

Commit 5d6280f

Browse files
committed
range over the second file as well
1 parent e733d75 commit 5d6280f

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

merger/merger.go

+18-2
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,31 @@ func MergeMap(first map[interface{}]interface{}, second map[interface{}]interfac
5151
// fmt.Printf("first type:%v", reflect.TypeOf(first[k]))
5252
// fmt.Printf("second type:%v", reflect.TypeOf(second[k]))
5353
if reflect.TypeOf(second[k]) != reflect.TypeOf(first[k]) {
54+
// fmt.Printf("if first: %v, second: :%v\n", first[k], second[k])
5455
first[k] = v
55-
// fmt.Printf("v:%v\n", v)
5656
} else if reflect.TypeOf(first[k]) == reflect.TypeOf(map[interface{}]interface{}{}) {
5757
//merge maps
58+
// fmt.Printf("else if first: %v, second: :%v\n", first[k], second[k])
5859
first[k] = MergeMap(first[k].(map[interface{}]interface{}), second[k].(map[interface{}]interface{}))
5960
} else {
6061
//for other types,replace it with value in first map.
62+
// fmt.Printf("else first: %v, second: :%v\n", v, second[k])
63+
first[k] = second[k]
64+
}
65+
}
66+
67+
for k, v := range second {
68+
if reflect.TypeOf(second[k]) != reflect.TypeOf(first[k]) {
69+
// fmt.Printf("if first: %v, second: :%v\n", first[k], second[k])
70+
first[k] = v
71+
} else if reflect.TypeOf(first[k]) == reflect.TypeOf(map[interface{}]interface{}{}) {
72+
//merge maps
73+
// fmt.Printf("else if first: %v, second: :%v\n", first[k], second[k])
74+
first[k] = MergeMap(first[k].(map[interface{}]interface{}), second[k].(map[interface{}]interface{}))
75+
} else {
76+
//for other types,replace it with value in second map.
77+
// fmt.Printf("else first: %v, second: :%v\n", v, second[k])
6178
first[k] = second[k]
62-
// fmt.Printf("cover,v:%v\n", v)
6379
}
6480
}
6581

0 commit comments

Comments
 (0)