IntCirceEnum

enumeratum.values.IntCirceEnum
trait IntCirceEnum[EntryType <: IntEnumEntry] extends CirceValueEnum[Int, EntryType]

CirceEnum for IntEnumEntry

scala> import enumeratum.values._
scala> import cats.syntax.either._
scala> import io.circe._
scala> import io.circe.syntax._

scala> sealed abstract class ShirtSize(val value:Int) extends IntEnumEntry
scala> case object ShirtSize extends IntEnum[ShirtSize] with IntCirceEnum[ShirtSize] {
   |  case object Small  extends ShirtSize(1)
   |  case object Medium extends ShirtSize(2)
   |  case object Large  extends ShirtSize(3)
   |  val values = findValues
   | }

scala> val size: ShirtSize = ShirtSize.Small

scala> size.asJson
res0: Json = 1

scala> Json.fromInt(3).as[ShirtSize]
res1: Decoder.Result[ShirtSize] = Right(Large)

scala> Json.fromInt(10).as[ShirtSize]
res2: Decoder.Result[ShirtSize] = Left(DecodingFailure(10 is not a member of enum ShirtSize, List()))

Attributes

Graph
Supertypes
trait CirceValueEnum[Int, EntryType]
class Object
trait Matchable
class Any
Self type
ValueEnum[Int, EntryType]

Members list

Implicits

Implicits

implicit val circeDecoder: Decoder[EntryType]

Implicit Decoder for this enum

Implicit Decoder for this enum

Attributes

implicit val circeEncoder: Encoder[EntryType]

Implicit Encoder for this enum

Implicit Encoder for this enum

Attributes