-
Notifications
You must be signed in to change notification settings - Fork 0
/
coba.js
63 lines (53 loc) · 1.27 KB
/
coba.js
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import { createInterface } from "readline"
import { tasks, addTask, removeTask, completeTask, listTasks } from "./todo.js"
const rl = createInterface({
input: process.stdin,
output: process.stdout,
})
const main = () => {
console.log("Welcome to Todo CLI! \n-------------------- \n")
prompt()
}
const displayTasks = () => {
if (tasks.length > 0) {
listTasks()
console.log("\n")
}
}
const prompt = () => {
displayTasks()
console.log("What would you like to do?")
console.log("1. Add a task")
console.log("2. Remove a task")
console.log("3. Mark a task as complete")
console.log("4. Quit")
rl.question("> ", (answer) => {
switch (answer) {
case "1":
rl.question("What do you wanna do? ", (answer) => {
addTask(answer)
prompt()
})
break
case "2":
rl.question("Which task would you want to remove? ", (answer) => {
removeTask(answer)
prompt()
})
break
case "3":
rl.question("Which task would you want to complete? ", (answer) => {
completeTask(answer)
prompt()
})
break
case "4":
rl.close()
break
default:
console.log("Invalid input")
prompt()
}
})
}
main()