-
Notifications
You must be signed in to change notification settings - Fork 0
/
calculator.ts
85 lines (73 loc) · 2.03 KB
/
calculator.ts
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#! /usr/bin/node env
import inquirer from "inquirer";
type answer={
firstnumber:string,
operation:"+"|"-"|"x"|"/"|"^"|"%",
}
function welcomeMsg(Msg:string){
const answers=Msg;
console.log(answers);
getInputFormUser();
// const inquirer.prompt()
}
welcomeMsg("Hey there! Perform Your Calculation :)")
// console.log('ahmad');
async function getInputFormUser() {
const answer=await inquirer.prompt([
{
name:"firstNumber",
message:"Enter first number",
type: "input",
validate:function(input){
if(isNaN(input)){
return "Not a valid Input"
}
else{
return true;
}
}
},
{
name: "operation",
message:"Choose as operation",
type:"list",
choices:["+","-","x","/","^","%"]
},
{
name:"secondNumber",
message:"Enter Second Number",
type:"input",
validate:function(input){
if(isNaN(input)){
return "Not a valid Input";
}
else{
return true;
}
}
}
])
console.log(answer);
const first=Number(answer.firstNumber);
const secnumber=Number(answer.secondNumber);
switch(answer.operation){
case "+":
console.log(first + secnumber);
break;
case "-":
console.log(first - secnumber);
break;
case "x":
console.log(first * secnumber);
break;
case "/":
console.log(first / secnumber);
break;
case "^":
console.log(first ** secnumber);
break;
case "%":
console.log(first % secnumber);
break;
}
}