in elitzur-avro/src/main/scala/com/spotify/elitzur/converters/avro/AvroConverter.scala [263:274]
override def fromAvro(v: Any, schema: Schema, doc: Option[String]): T =
implicitly[Enum[T]].withName(v.toString)
override def toAvro(v: T, schema: Schema): Any = new GenericData.EnumSymbol(schema, v.entryName)
override def toAvroDefault(v: T, defaultGenericContainer: GenericContainer): Any =
v.asInstanceOf[Any]
}
@SuppressWarnings(Array("org.wartremover.warts.Var"))
final private[elitzur] case class DerivedConverter[T] private(caseClass: CaseClass[AvroConverter,T])
extends AvroConverter[T] {