diff options
Diffstat (limited to 'util/util.go')
-rw-r--r-- | util/util.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/util/util.go b/util/util.go new file mode 100644 index 000000000000..3d05322efb16 --- /dev/null +++ b/util/util.go @@ -0,0 +1,25 @@ +package util + +// Merges two maps together. Values from the second map override values in the first map. +// The returned map is new if anything was changed. +func Merge(in1 *map[string]interface{}, in2 *map[string]interface{}) *map[string]interface{} { + if in1 == nil || len(*in1) == 0 { + return in2 + } + + if in2 == nil || len(*in2) == 0 { + return in1 + } + + + new := make(map[string]interface{}) + for k, v := range *in1 { + new[k] = v + } + + for k, v := range *in2 { + new[k] = v + } + + return &new +} |