protobuf/reflect/field/
protobuf_field_type.rs1use crate::reflect::protobuf_type_box::ProtobufType;
2use crate::reflect::RuntimeFieldType;
3
4pub(crate) enum ProtobufFieldType {
6 Singular(ProtobufType),
8 Repeated(ProtobufType),
10 Map(ProtobufType, ProtobufType),
12}
13
14impl ProtobufFieldType {
15 pub fn runtime(&self) -> RuntimeFieldType {
17 match self {
18 ProtobufFieldType::Singular(t) => RuntimeFieldType::Singular(t.runtime().clone()),
19 ProtobufFieldType::Repeated(t) => RuntimeFieldType::Repeated(t.runtime().clone()),
20 ProtobufFieldType::Map(kt, vt) => {
21 RuntimeFieldType::Map(kt.runtime().clone(), vt.runtime().clone())
22 }
23 }
24 }
25}