teo_runtime/optionality/
mod.rs1use 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}