-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathwhen.rs
27 lines (25 loc) · 934 Bytes
/
when.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
use requestty::Question;
fn main() {
let questions = vec![
Question::confirm("bacon")
.message("Do you like bacon?")
.build(),
Question::input("favorite")
.message("Bacon lover, what is your favourite type of bacon?")
.when(|ans: &requestty::Answers| ans["bacon"].as_bool().unwrap())
.build(),
Question::confirm("pizza")
.message("Ok... Do you like pizza?")
.when(|ans: &requestty::Answers| !ans["bacon"].as_bool().unwrap())
.build(),
Question::input("favourite")
.message("Whew! What is your favourite type of pizza?")
.when(|ans: &requestty::Answers| {
ans.get("pizza")
.map(|b| b.as_bool().unwrap())
.unwrap_or(false)
})
.build(),
];
println!("{:#?}", requestty::prompt(questions));
}