Cześć, chce zrobić funkcje, która w zależności od tego czy po drodze spotkała błąd zwraca wiadomość z błędem lub wynik.
fun doSomething(args: Array<String>): Result {
val parsed = this.parseArgs(args) // zwraca mape wypełnioną Either<String, Any> String wiadomość z błędem, Any to wynik
// jesli cos zwrociło błąd (lewą strone Either) zwraca Result.Error(error)
}
czy to sensowne rozwiązanie problemu?
fun doSomething(args: Array<String>): Result {
val parsed = this.parseArgs(args)
val errors = parsed.values.filter { it.isLeft }.map { it.left }
if (errors.isNotEmpty()) {
return Result.Error(errors[0])
}
// do magic
return Result.Success
}