serde_x12/generic.rs
1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct GenericDocument {
5 pub segments: Vec<Segment>,
6}
7
8#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
9pub struct Segment {
10 pub name: String,
11 pub elements: Vec<Element>,
12}
13
14#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
15#[serde(untagged)]
16pub enum Element {
17 // Container has to come first
18 Container(Vec<String>),
19 Value(String),
20}