trait EntityDecoder[F[_], T] extends AnyRef
Decode a Message to a DecodeResult. After decoding you have a DecodeResult
which is co-product (either) an error or a value. You can fold on the decode
result to work with either side e.g. mydecoderesult.fold(throw _,
identity)
.
- Self Type
- EntityDecoder[F, T]
- Annotations
- @implicitNotFound( ... )
- Alphabetic
- By Inheritance
- EntityDecoder
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
- abstract def decode(response: Message[F]): DecodeResult[F, T]
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply(response: Message[F]): DecodeResult[F, T]
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- def biflatMap[T2](f: (DecodeFailure) ⇒ DecodeResult[F, T2], s: (T) ⇒ DecodeResult[F, T2])(implicit F: Monad[F]): EntityDecoder[F, T2]
- def bimap[T2](f: (DecodeFailure) ⇒ DecodeFailure, s: (T) ⇒ T2)(implicit F: Functor[F]): EntityDecoder[F, T2]
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
flatMapR[T2](f: (T) ⇒ DecodeResult[F, T2])(implicit F: Monad[F]): EntityDecoder[F, T2]
Flatmap into the right of the DecodeResult, i.e.
Flatmap into the right of the DecodeResult, i.e. the value part not the error.
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def handleError(f: (DecodeFailure) ⇒ T)(implicit F: Functor[F]): EntityDecoder[F, T]
- def handleErrorWith(f: (DecodeFailure) ⇒ DecodeResult[F, T])(implicit F: Monad[F]): EntityDecoder[F, T]
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
map[T2](f: (T) ⇒ T2)(implicit F: Functor[F]): EntityDecoder[F, T2]
Map into the value part of a DecodeResult.
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
orElse[T2 >: T](other: EntityDecoder[F, T2])(implicit F: Monad[F]): EntityDecoder[F, T2]
Try this decoder then other if this decoder returns a decode failure.
Try this decoder then other if this decoder returns a decode failure. Due to the process-once nature of the body, the orElse must really check headers or other information to allow orElse to compose correctly.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
transform[T2](t: (Either[DecodeFailure, T]) ⇒ Either[DecodeFailure, T2])(implicit F: Functor[F]): EntityDecoder[F, T2]
Transform a decode result into another decode result.
- def transformWith[T2](f: (Either[DecodeFailure, T]) ⇒ DecodeResult[F, T2])(implicit F: Monad[F]): EntityDecoder[F, T2]
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
widen[T2 >: T]: EntityDecoder[F, T2]
Covariant widenening via cast.