func InterfaceToMap()

in internal/llreflect/llreflect.go [25:41]


func InterfaceToMap(o interface{}) map[string]interface{} {
	newMap := map[string]interface{}{}
	rv := reflect.ValueOf(o)

	for _, key := range rv.MapKeys() {
		mapV := rv.MapIndex(key)
		keyStr := key.Interface().(string)
		var value interface{}

		if !mapV.IsNil() {
			value = mapV.Interface().(interface{})
		}

		newMap[keyStr] = value
	}
	return newMap
}