Emil Kantis
String? -> Validated<E, String> -> Validated<E, A>
fromNullable
mapCatching(handleError: (Throwable) -> E, f: (A) -> B)
inline fun <E, A, B> Validated<E, A>.mapCatching(handleError: (Throwable) -> E, f: (A) -> B): Validated<E, B> = fold( { it.invalid() }, { try { f(it).valid() } catch (t: Throwable) { handleError(t).invalid() } }, )
simon.vergauwen
Validated.catch
andThen
inline fun <E, A, B> Validated<E, A>.mapCatching(handleError: (Throwable) -> E, f: (A) -> B): Validated<E, B> = andThen { a -> Validated.catch { f(a) } .handleError(handleError) }
A modern programming language that makes developers happier.