Bump mergo to v0.3.5
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
This commit is contained in:
parent
b1065767cd
commit
48ed659bc6
@ -39,7 +39,7 @@ github.com/grpc-ecosystem/grpc-gateway 1a03ca3bad1e1ebadaedd3abb76bc58d4ac8143b
|
|||||||
github.com/grpc-ecosystem/grpc-opentracing 8e809c8a86450a29b90dcc9efbf062d0fe6d9746
|
github.com/grpc-ecosystem/grpc-opentracing 8e809c8a86450a29b90dcc9efbf062d0fe6d9746
|
||||||
github.com/hashicorp/golang-lru a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4
|
github.com/hashicorp/golang-lru a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4
|
||||||
github.com/howeyc/gopass 3ca23474a7c7203e0a0a070fd33508f6efdb9b3d
|
github.com/howeyc/gopass 3ca23474a7c7203e0a0a070fd33508f6efdb9b3d
|
||||||
github.com/imdario/mergo v0.3.4
|
github.com/imdario/mergo v0.3.5
|
||||||
github.com/inconshreveable/mousetrap 76626ae9c91c4f2a10f34cad8ce83ea42c93bb75
|
github.com/inconshreveable/mousetrap 76626ae9c91c4f2a10f34cad8ce83ea42c93bb75
|
||||||
github.com/juju/ratelimit 5b9ff866471762aa2ab2dced63c9fb6f53921342
|
github.com/juju/ratelimit 5b9ff866471762aa2ab2dced63c9fb6f53921342
|
||||||
github.com/json-iterator/go 6240e1e7983a85228f7fd9c3e1b6932d46ec58e2
|
github.com/json-iterator/go 6240e1e7983a85228f7fd9c3e1b6932d46ec58e2
|
||||||
|
18
vendor/github.com/imdario/mergo/merge.go
generated
vendored
18
vendor/github.com/imdario/mergo/merge.go
generated
vendored
@ -103,7 +103,15 @@ func deepMerge(dst, src reflect.Value, visited map[uintptr]*visit, depth int, co
|
|||||||
case reflect.Ptr:
|
case reflect.Ptr:
|
||||||
fallthrough
|
fallthrough
|
||||||
case reflect.Map:
|
case reflect.Map:
|
||||||
if err = deepMerge(dstElement, srcElement, visited, depth+1, config); err != nil {
|
srcMapElm := srcElement
|
||||||
|
dstMapElm := dstElement
|
||||||
|
if srcMapElm.CanInterface() {
|
||||||
|
srcMapElm = reflect.ValueOf(srcMapElm.Interface())
|
||||||
|
if dstMapElm.IsValid() {
|
||||||
|
dstMapElm = reflect.ValueOf(dstMapElm.Interface())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if err = deepMerge(dstMapElm, srcMapElm, visited, depth+1, config); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
case reflect.Slice:
|
case reflect.Slice:
|
||||||
@ -116,7 +124,11 @@ func deepMerge(dst, src reflect.Value, visited map[uintptr]*visit, depth int, co
|
|||||||
dstSlice = reflect.ValueOf(dstElement.Interface())
|
dstSlice = reflect.ValueOf(dstElement.Interface())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !isEmptyValue(src) && (overwrite || isEmptyValue(dst)) && !config.AppendSlice {
|
||||||
|
dstSlice = srcSlice
|
||||||
|
} else if config.AppendSlice {
|
||||||
dstSlice = reflect.AppendSlice(dstSlice, srcSlice)
|
dstSlice = reflect.AppendSlice(dstSlice, srcSlice)
|
||||||
|
}
|
||||||
dst.SetMapIndex(key, dstSlice)
|
dst.SetMapIndex(key, dstSlice)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -124,7 +136,7 @@ func deepMerge(dst, src reflect.Value, visited map[uintptr]*visit, depth int, co
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if srcElement.IsValid() && (overwrite || (!dstElement.IsValid() || isEmptyValue(dst))) {
|
if srcElement.IsValid() && (overwrite || (!dstElement.IsValid() || isEmptyValue(dstElement))) {
|
||||||
if dst.IsNil() {
|
if dst.IsNil() {
|
||||||
dst.Set(reflect.MakeMap(dst.Type()))
|
dst.Set(reflect.MakeMap(dst.Type()))
|
||||||
}
|
}
|
||||||
@ -137,7 +149,7 @@ func deepMerge(dst, src reflect.Value, visited map[uintptr]*visit, depth int, co
|
|||||||
}
|
}
|
||||||
if !isEmptyValue(src) && (overwrite || isEmptyValue(dst)) && !config.AppendSlice {
|
if !isEmptyValue(src) && (overwrite || isEmptyValue(dst)) && !config.AppendSlice {
|
||||||
dst.Set(src)
|
dst.Set(src)
|
||||||
} else {
|
} else if config.AppendSlice {
|
||||||
dst.Set(reflect.AppendSlice(dst, src))
|
dst.Set(reflect.AppendSlice(dst, src))
|
||||||
}
|
}
|
||||||
case reflect.Ptr:
|
case reflect.Ptr:
|
||||||
|
7
vendor/github.com/imdario/mergo/mergo.go
generated
vendored
7
vendor/github.com/imdario/mergo/mergo.go
generated
vendored
@ -45,7 +45,12 @@ func isEmptyValue(v reflect.Value) bool {
|
|||||||
return v.Uint() == 0
|
return v.Uint() == 0
|
||||||
case reflect.Float32, reflect.Float64:
|
case reflect.Float32, reflect.Float64:
|
||||||
return v.Float() == 0
|
return v.Float() == 0
|
||||||
case reflect.Interface, reflect.Ptr, reflect.Func:
|
case reflect.Interface, reflect.Ptr:
|
||||||
|
if v.IsNil() {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return isEmptyValue(v.Elem())
|
||||||
|
case reflect.Func:
|
||||||
return v.IsNil()
|
return v.IsNil()
|
||||||
case reflect.Invalid:
|
case reflect.Invalid:
|
||||||
return true
|
return true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user