blob: 8282bc627e4e4899bb7e2960ee81d6377218cea9 (
plain) (
tree)
|
|
package xyz.driver.pdsuicommon.computation
import scala.concurrent.ExecutionContext
import scala.util.control.NonFatal
import scala.util.{Failure, Success, Try}
final class TryToComputationOps[T](val self: Try[T]) extends AnyVal {
def toComputation[ER](implicit exceptionToErrorResponse: Throwable => ER,
ec: ExecutionContext): Computation[ER, T] = self match {
case Success(x) => Computation.continue(x)
case Failure(NonFatal(e)) => Computation.abort(exceptionToErrorResponse(e))
case Failure(e) => Computation.fail(e)
}
}
|