Result cleanup

GitOrigin-RevId: 4c3146734479e6abc155fd901b65bd8c93d2d0c3
This commit is contained in:
Ilya.Kazakevich
2020-10-30 22:48:20 +00:00
committed by intellij-monorepo-bot
parent a375864b7f
commit 930b8a9f3c
@@ -21,7 +21,10 @@ sealed class Result<SUCC, ERR> {
}
val successOrNull: SUCC? get() = if (this is Success) result else null
fun successOr(@NonNls errorForLog: String): SUCC {
return (this as? Success)?.result ?: throw AssertionError(errorForLog)
fun orThrow(onError: (ERR) -> Throwable = { e -> AssertionError(e) }): SUCC {
when (this) {
is Success -> return result
is Failure -> throw onError(this.error)
}
}
}