Skip to content

Instantly share code, notes, and snippets.

View frekw's full-sized avatar
🐼

Fredrik Wärnsberg frekw

🐼
  • https://soundtrack.io
  • Stockholm, Sweden
  • 06:22 (UTC +02:00)
View GitHub Profile
def foldZIO[A, E] = new PartialFoldZIO[A, E](())
final class PartialFoldZIO[A, E](val unit: Unit) extends AnyVal {
def apply[R, E1, A0, B](
onError: E => ZIO[R, E1, B],
onDefect: Throwable => ZIO[R, E1, B],
onSuccess: A => ZIO[R, E1, B],
): Middleware[R, E1, A0, A, A, B] = new Middleware[R, E1, A0, A, A, B] {
override def apply[R1 <: R, E2 >: E1](http: Http[R1, E2, A0, A]): Http[R1, E2, A0, B] = {
http.foldHttp(