Open
Description
Now that we have a Cats module, we should provide a generic (abstracting away IO
) version of:
new Transformation.AbsorbError[EitherT[IO, *, *], IO] {
def apply[E, A](fa: EitherT[IO, E, A], injectError: E => Throwable): IO[A] =
fa.leftMap(injectError).rethrowT
}
and the corresponding Transformation.SurfaceError
transformation.