pub mod questions;
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct Question {
pub name: String,
pub message: Option<String>,
pub kind: QuestionKind,
pub default_answer: Option<String>,
pub choices: Vec<String>,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum QuestionKind {
Input,
Select,
}
pub fn generate_input(name: impl Into<String>, message: impl Into<String>) -> Question {
Question {
name: name.into(),
message: Some(message.into()),
kind: QuestionKind::Input,
default_answer: None,
choices: Vec::new(),
}
}
pub fn generate_select(name: impl Into<String>) -> Question {
Question {
name: name.into(),
message: None,
kind: QuestionKind::Select,
default_answer: None,
choices: Vec::new(),
}
}