in operatortrace-go/pkg/client/utils.go [41:57]
func convertToString(value interface{}) (string, error) {
v := reflect.ValueOf(value)
switch v.Kind() {
case reflect.String:
return v.String(), nil
case reflect.Interface:
// Handle the case where the value is an interface
return convertToString(v.Elem().Interface())
default:
// Check if the value has a String() method
stringer, ok := value.(fmt.Stringer)
if ok {
return stringer.String(), nil
}
return "", fmt.Errorf("unsupported type: %T", value)
}
}