Я хотел бы сделать map
в случае, если класс, сгенерированный из protobuf, обернутый в Option
case class Foo(aMap: Option[Map[String, String]])
Для этого я пытаюсь использовать scalapb.TypeMapper
package some.wrapper
import scalapb.TypeMapper
case class StringMapWrapper(map: Map[String, String])
object StringMapWrapper {
implicit val mapper = TypeMapper(StringMapWrapper.apply)(_.map)
}
И файл протока выглядит так:
syntax = "proto3";
package some;
import "scalapb/scalapb.proto";
message Foo {
map<string, string> a_map = 1 [(scalapb.field).type = "some.wrapper.StringMapWrapper"];
}
Но во время компиляции у меня возникает ошибка: --scala_out: some.Foo.a_map: Field a_map is a map and has type specified. Use key_type or value_type instead.
Как я могу исправить эту ошибку?