in operatortrace-go/pkg/client/conditions.go [233:254]
func mapToStruct(structVal reflect.Value, data map[string]interface{}) error {
for key, value := range data {
field := structVal.FieldByName(key)
if field.IsValid() {
switch field.Kind() {
case reflect.String:
field.SetString(value.(string))
case reflect.Bool:
field.SetBool(value.(bool))
case reflect.Int32:
field.SetInt(int64(value.(int32)))
case reflect.Int64:
field.SetInt(value.(int64))
case reflect.Float64:
field.SetFloat(value.(float64))
default:
field.Set(reflect.ValueOf(value))
}
}
}
return nil
}