Guest User

Untitled

a guest
Oct 25th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. (() => {
  2. let obj = {
  3. carbohydrate: 0,
  4. fat:0,
  5. flavour:0,
  6. protein:0
  7. }
  8. return (str) => {
  9. let operations = {
  10. apple: {carbs: 1, flavours: 2, fats: 0, proteins: 0},
  11. coke: {carbs: 10, flavours: 20, fats: 0, proteins: 0},
  12. burger: {carbs: 5, fats: 7, flavours: 3, proteins: 0},
  13. omelet: {proteins: 5, fats: 1, flavours: 1, carbs: 0},
  14. cheverme: {proteins: 10, carbs: 10, fats: 10, flavours: 10},
  15. restock: (a, q) => {
  16. obj[a]+=q;
  17. return 'Success'
  18. },
  19. prepare: (a, q) => {
  20. if (obj.protein - operations[a].proteins * q < 0) {
  21. return "Error: not enough protein in stock"
  22. }
  23. else if (obj.carbohydrate - operations[a].carbs * q < 0) {
  24. return "Error: not enough carbohydrate in stock"
  25. }
  26. else if (obj.fat - operations[a].fats * q < 0) {
  27. return "Error: not enough fat in stock"
  28. }
  29. else if (obj.flavour - operations[a].flavours * q < 0) {
  30. return "Error: not enough flavour in stock"
  31. }
  32. obj.protein = Math.max(obj.protein - operations[a].proteins * q, 0)
  33. obj.carbohydrate = Math.max(obj.carbohydrate - operations[a].carbs * q, 0)
  34. obj.fat = Math.max(obj.fat - operations[a].fats * q, 0)
  35. obj.flavour = Math.max(obj.flavour - operations[a].flavours * q, 0)
  36. return "Success"
  37. },
  38. report: () => {
  39. return `protein=${obj.protein} carbohydrate=${obj.carbohydrate} fat=${obj.fat} flavour=${obj.flavour}`
  40. }
  41. };
  42. let [task, good, quantity] = str.split(' ');
  43. return operations[task](good, Number(quantity));
  44. }
  45. })();
Add Comment
Please, Sign In to add comment