Packages

p

enum

package enum

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. case class DecodingFailure[A](validValues: Set[String]) extends Product with Serializable
  2. 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.")
  3. 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

Value Members

  1. object Encoder
  2. object Enum

Ungrouped