teo_runtime/optionality/
mod.rs

1use serde::Serialize;
2use crate::pipeline::pipeline::Pipeline;
3
4#[derive(Debug, Serialize, Clone)]
5pub enum Optionality {
6    Required,
7    Optional,
8    PresentWith(Vec<String>),
9    PresentWithout(Vec<String>),
10    PresentIf(Pipeline),
11}
12
13impl Optionality {
14
15    pub fn is_any_optional(&self) -> bool {
16        match self {
17            Optionality::Required => false,
18            _ => true,
19        }
20    }
21
22    pub fn is_required(&self) -> bool {
23        match self {
24            Optionality::Required => true,
25            _ => false
26        }
27    }
28}