(v reflect.Value, prefix string, m map[string]interface{})
| 84 | } |
| 85 | |
| 86 | func flattenStruct(v reflect.Value, prefix string, m map[string]interface{}) (err error) { |
| 87 | n := v.NumField() |
| 88 | if prefix != "" { |
| 89 | prefix += "/" |
| 90 | } |
| 91 | for i := 0; i < n; i++ { |
| 92 | typeField := v.Type().Field(i) |
| 93 | key := typeField.Tag.Get("csv") |
| 94 | if key == "" { |
| 95 | key = v.Type().Field(i).Name |
| 96 | } |
| 97 | if err = flattenValue(v.Field(i), prefix+key, m); err != nil { |
| 98 | return err |
| 99 | } |
| 100 | } |
| 101 | return err |
| 102 | } |
| 103 | |
| 104 | func flattenMap(v reflect.Value, prefix string, m map[string]interface{}) (err error) { |
| 105 | if prefix != "" { |
no test coverage detected