package utils

import (
	"reflect"
)

/***
从map中获取反射对象
*/
func ReflectApi(index string, _map map[string]interface{}) *reflect.Value {
	data := _map[index]
	if data == nil {
		return nil
	}
	refUser := reflect.ValueOf(data)
	return &refUser
}

/***
调用反射方法   当反射对象为空 或者不存在反射方法  返回true 成功返回false
*/
func ReflectApiCall(class *reflect.Value, value []reflect.Value) (bool, []reflect.Value) {
	defer func() {
		if err := recover(); err != nil {
			return
		}
	}()

	if class == nil {
		return true, nil
	}
	data := class.Call(value)
	return false, data
}
