Question: Build A Node.js module called inventory.js that exposes the following functionality: addItem - A function that takes 2 parameters: an items name and price and

Build A Node.js module called inventory.js that exposes the following functionality:

addItem - A function that takes 2 parameters: an items name and price and tracks it internally.

items - A function that returns a list of items, sorted by price from least expensive to most expensive.

getMostExpensive - Returns an object that contains the items name and price for the most expensive item that has been added.

getLeastExpensive - Returns an object that contains the items name and price for the most least expensive item that has been added.

removeItem - Remove an item by name.

getItemByName - Returns an items name and price by name.

getItemByPrice - Returns an items name and price by price.

Your module should not expose any functions or variables that would allow the above functions to have the integrity of their data compromised.

BELOW IS AN EXAMPLE OF HOW THE SCRIPT WILL BE USED.

'use strict';

const inventory = require('./inventory.js');

inventory.addItem('orange juice', 2.40);

inventory.addItem('milk', 4.00);

inventory.addItem('eggs', 1.20);

inventory.items().forEach(function (item) {

console.log(`Item ${item.name} costs ${item.price}`);

});

inventory.removeItem('milk');

let mostExpensive = inventory.getMostExpensive();

console.log(`${mostExpensive.name} at ${mostExpensive.price} costs the most!`);

let leastExpensive = inventory.getLeastExpensive();

console.log(`${leastExpensive.name} at ${leastExpensive.price} costs the least!`);

let itemByName = inventory.getItemByName('eggs');

console.log(`${itemByName.name} with price of ${itemByName.price} retrieved by name`);

let itemByPrice = inventory.getItemByPrice(2.40);

console.log(`${itemByPrice.name} with price of ${itemByPrice.price} retrieved by price`);

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!