Ingredient.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. class Ingredient{
  2. constructor(id, name, category, unitType, unit, parent){
  3. this.id = id;
  4. this.name = name;
  5. this.category = category;
  6. this.unitType = unitType;
  7. this.unit = unit;
  8. this.parent = parent;
  9. }
  10. convert(quantity){
  11. if(this.unitType === "mass"){
  12. switch(this.unit){
  13. case "g": break;
  14. case "kg": quantity /= 1000; break;
  15. case "oz": quantity /= 28.3495; break;
  16. case "lb": quantity /= 453.5924; break;
  17. }
  18. }else if(this.unitType === "volume"){
  19. switch(this.unit){
  20. case "ml": quantity *= 1000; break;
  21. case "l": break;
  22. case "tsp": quantity *= 202.8842; break;
  23. case "tbsp": quantity *= 67.6278; break;
  24. case "ozfl": quantity *= 33.8141; break;
  25. case "cup": quantity *= 4.1667; break;
  26. case "pt": quantity *= 2.1134; break;
  27. case "qt": quantity *= 1.0567; break;
  28. case "gal": quantity /= 3.7854; break;
  29. }
  30. }else if(this.unitType === "length"){
  31. switch(this.unit){
  32. case "mm": quantity *= 1000; break;
  33. case "cm": quantity *= 100; break;
  34. case "m": break;
  35. case "in": quantity *= 39.3701; break;
  36. case "ft": quantity *= 3.2808; break;
  37. }
  38. }
  39. return quantity;
  40. }
  41. }
  42. module.exports = Ingredient;