use serde::{Deserialize, Serialize};

use crate::model::ProtoField;

#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct ProtoOneof {
    pub name: String,
    pub variants: Vec<ProtoField>,
}

#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct ProtoMessage {
    pub name: String,
    pub fields: Vec<ProtoField>,
    pub oneofs: Vec<ProtoOneof>,
}
