enumeratum

package enumeratum

Members list

Packages

Type members

Classlikes

object Circe

Created by Lloyd on 4/14/16.

Created by Lloyd on 4/14/16.

Copyright 2016

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Circe.type
trait CirceEnum[A <: EnumEntry]

Helper trait that adds implicit Circe encoders and decoders for an Enum 's members

Helper trait that adds implicit Circe encoders and decoders for an Enum 's members

Example:

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

scala> sealed trait ShirtSize extends EnumEntry
scala> case object ShirtSize extends Enum[ShirtSize] with CirceEnum[ShirtSize] {
   |  case object Small  extends ShirtSize
   |  case object Medium extends ShirtSize
   |  case object Large  extends ShirtSize
   |  val values = findValues
   | }

scala> val size: ShirtSize = ShirtSize.Small

scala> size.asJson
res0: Json = "Small"

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


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

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Enum[A]
trait CirceKeyEnum[A <: EnumEntry]

Helper trait that adds implicit Circe KeyEncoder/KeyDecoder for an Enum 's members.

Helper trait that adds implicit Circe KeyEncoder/KeyDecoder for an Enum 's members.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Enum[A]