MCPcopy Create free account
hub / github.com/VirusTotal/vt-cli / flattenValue

Function flattenValue

csv/flatten.go:29–47  ·  view source on GitHub ↗
(v reflect.Value, prefix string, m map[string]interface{})

Source from the content-addressed store, hash-verified

27}
28
29func flattenValue(v reflect.Value, prefix string, m map[string]interface{}) error {
30 switch v.Kind() {
31 case reflect.Map:
32 return flattenMap(v, prefix, m)
33 case reflect.Struct:
34 return flattenStruct(v, prefix, m)
35 case reflect.Slice:
36 return flattenSlice(v, prefix, m)
37 case reflect.Interface, reflect.Ptr:
38 if v.IsNil() {
39 m[prefix] = "null"
40 } else {
41 return flattenValue(v.Elem(), prefix, m)
42 }
43 default:
44 m[prefix] = v.Interface()
45 }
46 return nil
47}
48
49func flattenSlice(v reflect.Value, prefix string, m map[string]interface{}) error {
50 n := v.Len()

Callers 3

flattenFunction · 0.85
flattenStructFunction · 0.85
flattenMapFunction · 0.85

Calls 3

flattenMapFunction · 0.85
flattenStructFunction · 0.85
flattenSliceFunction · 0.85

Tested by

no test coverage detected