p
enum
package enum
Ordering
- Alphabetic
Visibility
- Public
- All
Type Members
- case class DecodingFailure[A](validValues: Set[String]) extends Product with Serializable
- trait Encoder[A] extends AnyRef
A typeclass defining how to encode enumeration values as strings
A typeclass defining how to encode enumeration values as strings
- Annotations
- @implicitNotFound("Unable to find a way to encode ${A} values as strings. Make sure it is a sealed trait and is only extended by case objects.")
- trait Enum[A] extends AnyRef
sealed trait Foo object Foo { case object Bar extends Foo case object Baz extends Foo val enum: Enum[Foo] = Enum.derived[Foo] } assert(Foo.enum.values == Set(Foo.Bar, Foo.Baz)) assert(Foo.enum.labels == Set("Bar", "Baz")) assert(Foo.enum.encode(Foo.Bar) == "Bar") assert(Foo.enum.decode("Baz") == Right(Foo.Baz)) assert(Foo.enum.decode("invalid") == Left(DecodingFailure[Foo](Set("Bar", "Baz"))))
- A
Type of the enumeration values