diff --git a/merge.go b/merge.go index c6a8225..552681a 100644 --- a/merge.go +++ b/merge.go @@ -197,40 +197,3 @@ func keyExists(k string, m map[string]interface{}) string { } return "" } - -func isNil(value interface{}, traceSource ...bool) bool { - if value == nil { - return true - } - var rv reflect.Value - if v, ok := value.(reflect.Value); ok { - rv = v - } else { - rv = reflect.ValueOf(value) - } - switch rv.Kind() { - case reflect.Chan, - reflect.Map, - reflect.Slice, - reflect.Func, - reflect.Interface, - reflect.UnsafePointer: - return !rv.IsValid() || rv.IsNil() - - case reflect.Ptr: - if len(traceSource) > 0 && traceSource[0] { - for rv.Kind() == reflect.Ptr { - rv = rv.Elem() - } - if !rv.IsValid() { - return true - } - if rv.Kind() == reflect.Ptr { - return rv.IsNil() - } - } else { - return !rv.IsValid() || rv.IsNil() - } - } - return false -}