I want to generate below algebraic data types in scala using scalaPB.
trait MyEventCmd
case class MyEvent(mytype: Int, cp: Option[Double], value: Option[String] = None, id: Option[String] = None) extends MyEventCmd
case object Flush extends MyEventCmd
I've defined below protobuf myevent.proto-
syntax = "proto3";
message MyEventCmd {
  oneof sealed_value {
    Flush lit = 1;
    MyEvent event = 2;
  }
}
message Flush {
}
message MyEvent {
  int32 eType = 1;
  double cp = 2;
  string value = 3;
  string id = 4;
}
The problem with my definition is that Flush is generated as case class not case object.
Also, I don't know how to make field optional and with default value.