35 lines
962 B
JavaScript
35 lines
962 B
JavaScript
|
const VendingMachine = require('./vendingMachine');
|
||
|
let vendingMachine = new VendingMachine();
|
||
|
|
||
|
const readline = require('readline-sync');
|
||
|
|
||
|
function setupMachine() {
|
||
|
vendingMachine.fillMachine();
|
||
|
}
|
||
|
|
||
|
function listProducts() {
|
||
|
const products = vendingMachine.getProducts();
|
||
|
products.forEach((element) => {
|
||
|
if (element.quantity > 0) {
|
||
|
console.log(`${element.id}) ${element.name} - ${element.price}zł`);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
(async () => {
|
||
|
setupMachine();
|
||
|
let credit = readline.question(`Insert coins:\n`);
|
||
|
listProducts();
|
||
|
let id = readline.question(`Choose product from the list:\n`);
|
||
|
let product = vendingMachine.getProductById(id);
|
||
|
if (product.price > credit) {
|
||
|
console.log('Insuficient credit');
|
||
|
} else {
|
||
|
console.log(
|
||
|
'Your change ',
|
||
|
vendingMachine.calculateChange(credit - product.price)
|
||
|
);
|
||
|
console.log('Please take your product');
|
||
|
}
|
||
|
})();
|