use crate::generated::descriptor::field_descriptor_proto::{Label, Type};
use crate::generated::descriptor::{
DescriptorProto, EnumDescriptorProto, EnumValueDescriptorProto, FieldDescriptorProto,
FileDescriptorProto, MessageOptions, OneofDescriptorProto,
};
use crate::*;
pub(super) fn proto3_file(name: &str) -> FileDescriptorProto {
FileDescriptorProto {
name: Some(name.to_string()),
syntax: Some("proto3".to_string()),
..Default::default()
}
}
pub(super) fn enum_value(name: &str, number: i32) -> EnumValueDescriptorProto {
EnumValueDescriptorProto {
name: Some(name.to_string()),
number: Some(number),
..Default::default()
}
}
pub(super) fn make_field(name: &str, number: i32, label: Label, ty: Type) -> FieldDescriptorProto {
FieldDescriptorProto {
name: Some(name.to_string()),
number: Some(number),
label: Some(label),
r#type: Some(ty),
..Default::default()
}
}
pub(super) fn joined(files: &[GeneratedFile]) -> String {
files
.iter()
.map(|f| f.content.as_str())
.collect::<Vec<_>>()
.join("\n")
}
mod comments;
mod custom_attributes;
mod debug_redact;
mod feature_gating;
mod generation;
mod idiomatic_enums;
mod json_codegen;
mod naming;
mod owned_view_codegen;
mod proto2;
mod reexports;
mod reflect_view;
mod view_codegen;