(typ reflect.Type, checkMapstructureTags bool, tagName string)
| 1515 | } |
| 1516 | |
| 1517 | func isStructTypeConvertibleToMap(typ reflect.Type, checkMapstructureTags bool, tagName string) bool { |
| 1518 | for i := 0; i < typ.NumField(); i++ { |
| 1519 | f := typ.Field(i) |
| 1520 | if f.PkgPath == "" && !checkMapstructureTags { // check for unexported fields |
| 1521 | return true |
| 1522 | } |
| 1523 | if checkMapstructureTags && f.Tag.Get(tagName) != "" { // check for mapstructure tags inside |
| 1524 | return true |
| 1525 | } |
| 1526 | } |
| 1527 | return false |
| 1528 | } |
| 1529 | |
| 1530 | func dereferencePtrToStructIfNeeded(v reflect.Value, tagName string) reflect.Value { |
| 1531 | if v.Kind() != reflect.Ptr || v.Elem().Kind() != reflect.Struct { |
no outgoing calls
no test coverage detected
searching dependent graphs…