#[derive(Clone, Debug, PartialEq, Eq)]
pub enum InputValue {
Bool(bool),
String(String),
StringList(Vec<String>),
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct InputOptions {
pub passed_as_input: bool,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct Input {
pub name: String,
pub value: Option<InputValue>,
pub options: Option<InputOptions>,
}
impl Input {
pub fn new(name: impl Into<String>, value: Option<InputValue>) -> Self {
Self {
name: name.into(),
value,
options: None,
}
}
pub fn with_options(
name: impl Into<String>,
value: Option<InputValue>,
options: InputOptions,
) -> Self {
Self {
name: name.into(),
value,
options: Some(options),
}
}
}