1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::{SchemaField, SchemaType};

#[derive(Clone, Debug, Default)]
pub enum UnionOperator {
    #[default]
    AnyOf,
    OneOf,
}

#[derive(Clone, Debug, Default)]
pub struct UnionType {
    pub name: Option<String>,
    pub operator: UnionOperator,
    pub variants: Option<Vec<SchemaField>>,
    pub variants_types: Vec<Box<SchemaType>>,
}