Packages

trait Decoder[A] extends Serializable

A type class that provides a way to produce a value of type A from a Json value.

Self Type
Decoder[A]
Source
Decoder.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Decoder
  2. Serializable
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def apply(c: HCursor): Result[A]

    Decode the given HCursor.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from Decoder[A] toany2stringadd[Decoder[A]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Decoder[A], B)
    Implicit
    This member is added by an implicit conversion from Decoder[A] toArrowAssoc[Decoder[A]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. final def at(field: String): Decoder[A]

    Create a new decoder that attempts to navigate to the specified field before decoding.

  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  9. def decodeAccumulating(c: HCursor): AccumulatingResult[A]
  10. final def decodeJson(j: Json): Result[A]

    Decode the given Json value.

  11. final def either[B](decodeB: Decoder[B]): Decoder[Either[A, B]]

    Choose the first succeeding decoder, wrapping the result in a disjunction.

  12. final def emap[B](f: (A) => Either[String, B]): Decoder[B]

    Create a new decoder that performs some operation on the result if this one succeeds.

    Create a new decoder that performs some operation on the result if this one succeeds.

    f

    a function returning either a value or an error message

  13. final def emapTry[B](f: (A) => Try[B]): Decoder[B]

    Create a new decoder that performs some operation on the result if this one succeeds.

    Create a new decoder that performs some operation on the result if this one succeeds.

    f

    a function returning either a value or an error message

  14. final def ensure(errors: (A) => List[String]): Decoder[A]

    Build a new instance that fails with one or more errors if the condition does not hold for the result.

    Build a new instance that fails with one or more errors if the condition does not hold for the result.

    If the result of the function applied to the decoded value is the empty list, the new decoder will succeed with that value.

  15. final def ensure(pred: (A) => Boolean, message: => String): Decoder[A]

    Build a new instance that fails if the condition does not hold for the result.

    Build a new instance that fails if the condition does not hold for the result.

    Note that in the case of chained calls to this method, only the first failure will be returned.

  16. def ensuring(cond: (Decoder[A]) => Boolean, msg: => Any): Decoder[A]
    Implicit
    This member is added by an implicit conversion from Decoder[A] toEnsuring[Decoder[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. def ensuring(cond: (Decoder[A]) => Boolean): Decoder[A]
    Implicit
    This member is added by an implicit conversion from Decoder[A] toEnsuring[Decoder[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. def ensuring(cond: Boolean, msg: => Any): Decoder[A]
    Implicit
    This member is added by an implicit conversion from Decoder[A] toEnsuring[Decoder[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. def ensuring(cond: Boolean): Decoder[A]
    Implicit
    This member is added by an implicit conversion from Decoder[A] toEnsuring[Decoder[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  20. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  22. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  23. final def flatMap[B](f: (A) => Decoder[B]): Decoder[B]

    Monadically bind a function over this Decoder.

  24. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from Decoder[A] toStringFormat[Decoder[A]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  25. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  26. final def handleErrorWith(f: (DecodingFailure) => Decoder[A]): Decoder[A]

    Create a new instance that handles any of this instance's errors with the given function.

    Create a new instance that handles any of this instance's errors with the given function.

    Note that in the case of accumulating decoding, only the first error will be used in recovery.

  27. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  28. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  29. final def kleisli: Kleisli[Result, HCursor, A]

    Convert to a Kleisli arrow.

  30. final def map[B](f: (A) => B): Decoder[B]

    Map a function over this Decoder.

  31. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  33. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  34. final def or[AA >: A](d: => Decoder[AA]): Decoder[AA]

    Choose the first succeeding decoder.

  35. final def prepare(f: (ACursor) => ACursor): Decoder[A]

    Create a new decoder that performs some operation on the incoming JSON before decoding.

  36. final def product[B](fb: Decoder[B]): Decoder[(A, B)]

    Run two decoders and return their results as a pair.

  37. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  38. def toString(): String
    Definition Classes
    AnyRef → Any
  39. def tryDecode(c: ACursor): Result[A]

    Decode the given ACursor.

    Decode the given ACursor.

    Note that if you override the default implementation, you should also be sure to override tryDecodeAccumulating in order for fail-fast and accumulating decoding to be consistent.

  40. def tryDecodeAccumulating(c: ACursor): AccumulatingResult[A]
  41. final def validate(pred: (HCursor) => Boolean, message: => String): Decoder[A]

    Build a new instance that fails if the condition does not hold for the input.

  42. final def validate(errors: (HCursor) => List[String]): Decoder[A]

    Build a new instance that fails if the condition does not hold for the input.

  43. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  44. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  45. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  46. final def withErrorMessage(message: String): Decoder[A]

    Build a new instance with the specified error message.

Deprecated Value Members

  1. def [B](y: B): (Decoder[A], B)
    Implicit
    This member is added by an implicit conversion from Decoder[A] toArrowAssoc[Decoder[A]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromDecoder[A] to any2stringadd[Decoder[A]]

Inherited by implicit conversion StringFormat fromDecoder[A] to StringFormat[Decoder[A]]

Inherited by implicit conversion Ensuring fromDecoder[A] to Ensuring[Decoder[A]]

Inherited by implicit conversion ArrowAssoc fromDecoder[A] to ArrowAssoc[Decoder[A]]

Ungrouped