@jeremyckahn/farmhand 1.19.19 → 1.19.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/dist/assets/{index-BxA2fVaN.js → index-CG_lY1MJ.js} +9 -9
  2. package/dist/assets/{index-BxA2fVaN.js.map → index-CG_lY1MJ.js.map} +1 -1
  3. package/dist/index.html +1 -1
  4. package/dist/service-worker.js +1 -1
  5. package/dist/service-worker.js.map +1 -1
  6. package/package.json +3 -2
  7. package/src/common/services/{randomNumber.js → randomNumber.ts} +1 -0
  8. package/src/common/{utils.js → utils.ts} +1 -1
  9. package/src/components/AccountingView/{AccountingView.js → AccountingView.tsx} +1 -0
  10. package/src/components/AchievementsView/{AchievementsView.js → AchievementsView.tsx} +6 -4
  11. package/src/components/AnimatedNumber/{AnimatedNumber.js → AnimatedNumber.tsx} +9 -6
  12. package/src/components/AppBar/{AppBar.js → AppBar.tsx} +5 -2
  13. package/src/components/BailOutErrorBoundary/{BailOutErrorBoundary.js → BailOutErrorBoundary.tsx} +2 -0
  14. package/src/components/Cellar/{CellarInventoryTabPanel.js → CellarInventoryTabPanel.tsx} +2 -0
  15. package/src/components/Cellar/{Keg.js → Keg.tsx} +0 -1
  16. package/src/components/ContextPane/{ContextPane.test.js → ContextPane.test.tsx} +3 -0
  17. package/src/components/ContextPane/{ContextPane.js → ContextPane.tsx} +2 -0
  18. package/src/components/CowCard/Bloodline/{Bloodline.test.js → Bloodline.test.tsx} +6 -3
  19. package/src/components/CowCard/{CowCard.js → CowCard.tsx} +6 -4
  20. package/src/components/CowCard/Subheader/{Subheader.js → Subheader.tsx} +1 -0
  21. package/src/components/CowPen/{Cow.js → Cow.tsx} +27 -13
  22. package/src/components/CowPen/{CowPen.test.js → CowPen.test.tsx} +15 -1
  23. package/src/components/CowPen/{Tumbleweeds.js → Tumbleweeds.tsx} +2 -1
  24. package/src/components/Farmhand/{Farmhand.context.js → Farmhand.context.tsx} +2 -2
  25. package/src/components/Farmhand/{Farmhand.js → Farmhand.tsx} +91 -24
  26. package/src/components/FermentationRecipeList/{FermentationRecipe.js → FermentationRecipe.tsx} +4 -3
  27. package/src/components/FermentationRecipeList/{FermentationRecipeList.test.js → FermentationRecipeList.test.tsx} +5 -0
  28. package/src/components/FermentationRecipeList/{FermentationRecipeList.js → FermentationRecipeList.tsx} +3 -0
  29. package/src/components/Field/{Field.test.js → Field.test.tsx} +2 -3
  30. package/src/components/Field/{Field.js → Field.tsx} +23 -18
  31. package/src/components/Home/{Home.js → Home.tsx} +1 -0
  32. package/src/components/Home/{SnowBackground.js → SnowBackground.tsx} +2 -0
  33. package/src/components/Inventory/{Inventory.js → Inventory.tsx} +33 -25
  34. package/src/components/Item/{Item.js → Item.tsx} +2 -1
  35. package/src/components/LogView/{LogView.js → LogView.tsx} +23 -18
  36. package/src/components/Navigation/{Navigation.js → Navigation.tsx} +5 -6
  37. package/src/components/NotificationSystem/{NotificationSystem.js → NotificationSystem.tsx} +0 -1
  38. package/src/components/OnlinePeersView/{OnlinePeersView.js → OnlinePeersView.tsx} +7 -4
  39. package/src/components/Plot/{Plot.test.js → Plot.test.tsx} +8 -8
  40. package/src/components/Plot/{Plot.js → Plot.tsx} +5 -0
  41. package/src/components/PriceEventView/{PriceEventView.test.js → PriceEventView.test.tsx} +1 -0
  42. package/src/components/ProgressBar/{ProgressBar.js → ProgressBar.tsx} +2 -0
  43. package/src/components/QuantityInput/{QuantityInput.js → QuantityInput.tsx} +1 -0
  44. package/src/components/Recipe/{Recipe.js → Recipe.tsx} +1 -2
  45. package/src/components/SettingsView/{RandomSeedInput.js → RandomSeedInput.tsx} +1 -1
  46. package/src/components/Shop/{Shop.js → Shop.tsx} +2 -1
  47. package/src/components/Stage/{Stage.test.js → Stage.test.tsx} +1 -0
  48. package/src/components/Stage/{Stage.js → Stage.tsx} +6 -3
  49. package/src/components/TierPurchase/{TierPurchase.js → TierPurchase.tsx} +3 -3
  50. package/src/components/Toolbelt/{Toolbelt.js → Toolbelt.tsx} +3 -0
  51. package/src/components/UpgradePurchase/{UpgradePurchase.js → UpgradePurchase.tsx} +0 -1
  52. package/src/components/WineRecipeList/{WineRecipe.test.js → WineRecipe.test.tsx} +10 -1
  53. package/src/components/WineRecipeList/{WineRecipe.js → WineRecipe.tsx} +2 -1
  54. package/src/components/WineRecipeList/{WineRecipeList.js → WineRecipeList.tsx} +1 -0
  55. package/src/components/Workshop/{ForgeTabPanel.js → ForgeTabPanel.tsx} +1 -0
  56. package/src/components/Workshop/{Workshop.test.js → Workshop.test.tsx} +2 -2
  57. package/src/components/Workshop/{getUpgradesAvailable.test.js → getUpgradesAvailable.test.ts} +1 -0
  58. package/src/components/Workshop/{getUpgradesAvailable.js → getUpgradesAvailable.ts} +2 -0
  59. package/src/{constants.js → constants.ts} +2 -2
  60. package/src/data/{achievements.test.js → achievements.test.ts} +2 -1
  61. package/src/data/{achievements.js → achievements.ts} +9 -0
  62. package/src/data/{crop.js → crop.ts} +5 -4
  63. package/src/data/crops/{asparagus.js → asparagus.ts} +2 -0
  64. package/src/data/crops/{carrot.js → carrot.ts} +2 -0
  65. package/src/data/crops/{corn.js → corn.ts} +2 -0
  66. package/src/data/crops/{garlic.js → garlic.ts} +2 -0
  67. package/src/data/crops/{grape.js → grape.ts} +11 -7
  68. package/src/data/crops/{jalapeno.js → jalapeno.ts} +2 -0
  69. package/src/data/crops/{olive.js → olive.ts} +2 -0
  70. package/src/data/crops/{onion.js → onion.ts} +2 -0
  71. package/src/data/crops/{pea.js → pea.ts} +2 -0
  72. package/src/data/crops/{potato.js → potato.ts} +2 -0
  73. package/src/data/crops/{pumpkin.js → pumpkin.ts} +2 -0
  74. package/src/data/crops/{soybean.js → soybean.ts} +2 -0
  75. package/src/data/crops/{spinach.js → spinach.ts} +2 -0
  76. package/src/data/crops/{strawberry.js → strawberry.ts} +2 -0
  77. package/src/data/crops/{sunflower.js → sunflower.ts} +2 -0
  78. package/src/data/crops/{sweet-potato.js → sweet-potato.ts} +2 -0
  79. package/src/data/crops/{tomato.js → tomato.ts} +2 -0
  80. package/src/data/crops/{watermelon.js → watermelon.ts} +2 -0
  81. package/src/data/crops/{wheat.js → wheat.ts} +2 -0
  82. package/src/data/{items.js → items.ts} +12 -12
  83. package/src/data/{levels.js → levels.ts} +28 -0
  84. package/src/data/{maps.js → maps.ts} +2 -1
  85. package/src/data/ores/{bronzeOre.js → bronzeOre.ts} +1 -1
  86. package/src/data/ores/{coal.js → coal.ts} +1 -1
  87. package/src/data/ores/{goldOre.js → goldOre.ts} +1 -1
  88. package/src/data/ores/{ironOre.js → ironOre.ts} +1 -1
  89. package/src/data/ores/{saltRock.js → saltRock.ts} +1 -1
  90. package/src/data/ores/{silverOre.js → silverOre.ts} +1 -1
  91. package/src/data/ores/{stone.js → stone.ts} +1 -1
  92. package/src/data/{recipes.js → recipes.ts} +43 -43
  93. package/src/data/{upgrades.js → upgrades.ts} +4 -4
  94. package/src/{enums.js → enums.ts} +28 -28
  95. package/src/factories/{CoalFactory.js → CoalFactory.ts} +2 -0
  96. package/src/factories/{OreFactory.js → OreFactory.ts} +3 -0
  97. package/src/factories/{ResourceFactory.test.js → ResourceFactory.test.ts} +4 -0
  98. package/src/factories/{ResourceFactory.js → ResourceFactory.ts} +4 -0
  99. package/src/factories/{StoneFactory.js → StoneFactory.ts} +1 -0
  100. package/src/{fetch-utils.js → fetch-utils.ts} +2 -0
  101. package/src/game-logic/{field-purchase.test.js → field-purchase.test.ts} +4 -2
  102. package/src/game-logic/reducers/{applyCrows.js → applyCrows.ts} +3 -0
  103. package/src/game-logic/reducers/{applyLoanInterest.js → applyLoanInterest.ts} +1 -1
  104. package/src/game-logic/reducers/{applyPrecipitation.js → applyPrecipitation.ts} +6 -6
  105. package/src/game-logic/reducers/{changeCowAutomaticHugState.js → changeCowAutomaticHugState.ts} +2 -2
  106. package/src/game-logic/reducers/{computeStateForNextDay.js → computeStateForNextDay.ts} +2 -2
  107. package/src/game-logic/reducers/{consumeIngredients.js → consumeIngredients.ts} +2 -2
  108. package/src/game-logic/reducers/{harvestPlot.js → harvestPlot.ts} +4 -4
  109. package/src/game-logic/reducers/{makeFermentationRecipe.js → makeFermentationRecipe.ts} +1 -0
  110. package/src/game-logic/reducers/{makeRecipe.test.js → makeRecipe.test.ts} +11 -8
  111. package/src/game-logic/reducers/{makeWine.test.js → makeWine.test.ts} +0 -2
  112. package/src/game-logic/reducers/{makeWine.js → makeWine.ts} +1 -0
  113. package/src/game-logic/reducers/{minePlot.js → minePlot.ts} +1 -0
  114. package/src/game-logic/reducers/{processCellarSpoilage.test.js → processCellarSpoilage.test.ts} +0 -5
  115. package/src/game-logic/reducers/{processCellarSpoilage.js → processCellarSpoilage.ts} +0 -1
  116. package/src/game-logic/reducers/{processCowFertilizerProduction.js → processCowFertilizerProduction.ts} +1 -1
  117. package/src/game-logic/reducers/{processLevelUp.js → processLevelUp.ts} +3 -0
  118. package/src/game-logic/reducers/{purchaseField.test.js → purchaseField.test.ts} +2 -0
  119. package/src/game-logic/reducers/{purchaseField.js → purchaseField.ts} +3 -2
  120. package/src/game-logic/reducers/{purchaseForest.test.js → purchaseForest.test.tsx} +6 -2
  121. package/src/game-logic/reducers/{purchaseForest.js → purchaseForest.ts} +3 -2
  122. package/src/game-logic/reducers/{rotateNotificationLogs.js → rotateNotificationLogs.ts} +1 -1
  123. package/src/game-logic/reducers/{sellCow.test.js → sellCow.test.ts} +3 -3
  124. package/src/game-logic/reducers/{sellItem.test.js → sellItem.test.ts} +0 -3
  125. package/src/game-logic/reducers/{sellKeg.js → sellKeg.ts} +0 -1
  126. package/src/game-logic/reducers/{spawnWeeds.js → spawnWeeds.ts} +1 -0
  127. package/src/game-logic/reducers/{updateAchievements.js → updateAchievements.ts} +10 -9
  128. package/src/game-logic/reducers/{updatePeer.test.js → updatePeer.test.ts} +0 -4
  129. package/src/game-logic/reducers/{updatePeer.js → updatePeer.ts} +1 -0
  130. package/src/game-logic/reducers/{updatePlotShoveledState.test.js → updatePlotShoveledState.test.ts} +0 -1
  131. package/src/handlers/{peer-events.js → peer-events.ts} +9 -3
  132. package/src/handlers/{ui-events.test.js → ui-events.test.ts} +2 -0
  133. package/src/handlers/{ui-events.js → ui-events.tsx} +107 -25
  134. package/src/{index.js → index.tsx} +2 -0
  135. package/src/scripts/{generate-crop-table.js → generate-crop-table.ts} +5 -4
  136. package/src/services/{cellar.test.js → cellar.test.ts} +1 -1
  137. package/src/services/{wine.js → wine.ts} +1 -0
  138. package/src/shell/{notifications.test.js → notifications.test.ts} +19 -13
  139. package/src/{templates.js → templates.ts} +8 -0
  140. package/src/test-utils/{index.js → index.ts} +3 -3
  141. package/src/test-utils/stubs/{getKegStub.js → getKegStub.ts} +1 -0
  142. package/src/utils/{farmProductsSold.js → farmProductsSold.tsx} +2 -0
  143. package/src/utils/{getCropLifecycleDuration.js → getCropLifecycleDuration.ts} +1 -0
  144. package/src/utils/{getCropsAvailableToFerment.js → getCropsAvailableToFerment.ts} +1 -0
  145. package/src/utils/{getInventoryQuantityMap.js → getInventoryQuantityMap.ts} +1 -0
  146. package/src/utils/{getLevelEntitlements.js → getLevelEntitlements.ts} +4 -0
  147. package/src/utils/{getMaxYieldOfFermentationRecipe.js → getMaxYieldOfFermentationRecipe.ts} +1 -0
  148. package/src/utils/{getWineVarietiesAvailableToMake.js → getWineVarietiesAvailableToMake.ts} +2 -0
  149. package/src/utils/{index.test.js → index.test.ts} +0 -2
  150. package/src/utils/{index.js → index.tsx} +31 -18
  151. package/src/utils/{isItemAFarmProduct.js → isItemAFarmProduct.ts} +1 -1
  152. package/src/utils/{memoize.js → memoize.ts} +2 -0
  153. package/src/utils/{totalIngredientsInRecipe.js → totalIngredientsInRecipe.ts} +2 -0
  154. /package/src/common/{constants.js → constants.ts} +0 -0
  155. /package/src/common/services/{randomNumber.test.js → randomNumber.test.ts} +0 -0
  156. /package/src/common/{utils.test.js → utils.test.ts} +0 -0
  157. /package/src/components/AccountingView/{AccountingView.test.js → AccountingView.test.tsx} +0 -0
  158. /package/src/components/AccountingView/{index.js → index.ts} +0 -0
  159. /package/src/components/Achievement/{Achievement.test.js → Achievement.test.tsx} +0 -0
  160. /package/src/components/Achievement/{Achievement.js → Achievement.tsx} +0 -0
  161. /package/src/components/Achievement/{index.js → index.ts} +0 -0
  162. /package/src/components/AchievementsView/{AchievementsView.test.js → AchievementsView.test.tsx} +0 -0
  163. /package/src/components/AchievementsView/{index.js → index.ts} +0 -0
  164. /package/src/components/AnimatedNumber/{AnimatedNumber.test.js → AnimatedNumber.test.tsx} +0 -0
  165. /package/src/components/AnimatedNumber/{index.js → index.ts} +0 -0
  166. /package/src/components/AppBar/{AppBar.test.js → AppBar.test.tsx} +0 -0
  167. /package/src/components/AppBar/{index.js → index.ts} +0 -0
  168. /package/src/components/BailOutErrorBoundary/{BailOutErrorBoundary.test.js → BailOutErrorBoundary.test.tsx} +0 -0
  169. /package/src/components/BailOutErrorBoundary/{index.js → index.ts} +0 -0
  170. /package/src/components/Cellar/{Cellar.js → Cellar.tsx} +0 -0
  171. /package/src/components/Cellar/{FermentationTabPanel.js → FermentationTabPanel.tsx} +0 -0
  172. /package/src/components/Cellar/TabPanel/{index.js → index.tsx} +0 -0
  173. /package/src/components/Cellar/{WinemakingTabPanel.js → WinemakingTabPanel.tsx} +0 -0
  174. /package/src/components/Cellar/{index.js → index.ts} +0 -0
  175. /package/src/components/ChatRoom/{ChatRoom.js → ChatRoom.tsx} +0 -0
  176. /package/src/components/ChatRoom/{index.js → index.ts} +0 -0
  177. /package/src/components/ContextPane/{index.js → index.ts} +0 -0
  178. /package/src/components/CowCard/Bloodline/{Bloodline.js → Bloodline.tsx} +0 -0
  179. /package/src/components/CowCard/Bloodline/{index.js → index.ts} +0 -0
  180. /package/src/components/CowCard/{CowCard.test.js → CowCard.test.tsx} +0 -0
  181. /package/src/components/CowCard/Subheader/{Subheader.test.js → Subheader.test.tsx} +0 -0
  182. /package/src/components/CowCard/Subheader/{index.js → index.ts} +0 -0
  183. /package/src/components/CowCard/{index.js → index.ts} +0 -0
  184. /package/src/components/CowPen/{CowPen.js → CowPen.tsx} +0 -0
  185. /package/src/components/CowPen/{index.js → index.ts} +0 -0
  186. /package/src/components/CowPenContextMenu/{CowPenContextMenu.test.js → CowPenContextMenu.test.tsx} +0 -0
  187. /package/src/components/CowPenContextMenu/{CowPenContextMenu.js → CowPenContextMenu.tsx} +0 -0
  188. /package/src/components/CowPenContextMenu/TabPanel/{index.js → index.tsx} +0 -0
  189. /package/src/components/CowPenContextMenu/{index.js → index.ts} +0 -0
  190. /package/src/components/Elements/{index.js → index.ts} +0 -0
  191. /package/src/components/Farmhand/{Farmhand.test.js → Farmhand.test.ts} +0 -0
  192. /package/src/components/Farmhand/{FarmhandReducers.js → FarmhandReducers.tsx} +0 -0
  193. /package/src/components/Farmhand/helpers/{getInventoryQuantities.test.js → getInventoryQuantities.test.ts} +0 -0
  194. /package/src/components/Farmhand/helpers/{getInventoryQuantities.js → getInventoryQuantities.ts} +0 -0
  195. /package/src/components/Farmhand/{index.js → index.ts} +0 -0
  196. /package/src/components/Field/{index.js → index.ts} +0 -0
  197. /package/src/components/Forest/{Forest.js → Forest.tsx} +0 -0
  198. /package/src/components/Forest/{index.js → index.ts} +0 -0
  199. /package/src/components/Home/{Home.test.js → Home.test.tsx} +0 -0
  200. /package/src/components/Home/{index.js → index.ts} +0 -0
  201. /package/src/components/IngredientsList/{IngredientsList.test.js → IngredientsList.test.tsx} +0 -0
  202. /package/src/components/IngredientsList/{IngredientsList.js → IngredientsList.tsx} +0 -0
  203. /package/src/components/IngredientsList/{index.js → index.ts} +0 -0
  204. /package/src/components/Inventory/{Inventory.test.js → Inventory.test.tsx} +0 -0
  205. /package/src/components/Inventory/{index.js → index.ts} +0 -0
  206. /package/src/components/Item/{Item.test.js → Item.test.tsx} +0 -0
  207. /package/src/components/Item/{index.js → index.ts} +0 -0
  208. /package/src/components/KeybindingsView/{KeybindingsView.test.js → KeybindingsView.test.tsx} +0 -0
  209. /package/src/components/KeybindingsView/{KeybindingsView.js → KeybindingsView.tsx} +0 -0
  210. /package/src/components/KeybindingsView/{index.js → index.ts} +0 -0
  211. /package/src/components/LogView/{LogView.test.js → LogView.test.tsx} +0 -0
  212. /package/src/components/LogView/{index.js → index.ts} +0 -0
  213. /package/src/components/Navigation/{DayAndProgressContainer.js → DayAndProgressContainer.tsx} +0 -0
  214. /package/src/components/Navigation/{Navigation.test.js → Navigation.test.tsx} +0 -0
  215. /package/src/components/Navigation/{index.js → index.ts} +0 -0
  216. /package/src/components/NotificationSystem/{NotificationSystem.test.js → NotificationSystem.test.tsx} +0 -0
  217. /package/src/components/NotificationSystem/{index.js → index.ts} +0 -0
  218. /package/src/components/OnlinePeersView/OnlinePeer/{OnlinePeer.test.js → OnlinePeer.test.tsx} +0 -0
  219. /package/src/components/OnlinePeersView/OnlinePeer/{OnlinePeer.js → OnlinePeer.tsx} +0 -0
  220. /package/src/components/OnlinePeersView/OnlinePeer/{index.js → index.ts} +0 -0
  221. /package/src/components/OnlinePeersView/{OnlinePeersView.test.js → OnlinePeersView.test.tsx} +0 -0
  222. /package/src/components/OnlinePeersView/{index.js → index.ts} +0 -0
  223. /package/src/components/Plot/{index.js → index.ts} +0 -0
  224. /package/src/components/PriceEventView/{PriceEventView.js → PriceEventView.tsx} +0 -0
  225. /package/src/components/PriceEventView/{index.js → index.ts} +0 -0
  226. /package/src/components/ProgressBar/{ProgressBar.test.js → ProgressBar.test.tsx} +0 -0
  227. /package/src/components/ProgressBar/{index.js → index.ts} +0 -0
  228. /package/src/components/QuantityInput/{QuantityInput.test.js → QuantityInput.test.tsx} +0 -0
  229. /package/src/components/QuantityInput/{index.js → index.ts} +0 -0
  230. /package/src/components/QuickSelect/{QuickSelect.test.js → QuickSelect.test.tsx} +0 -0
  231. /package/src/components/QuickSelect/{QuickSelect.js → QuickSelect.tsx} +0 -0
  232. /package/src/components/QuickSelect/{index.js → index.ts} +0 -0
  233. /package/src/components/Recipe/{Recipe.test.js → Recipe.test.tsx} +0 -0
  234. /package/src/components/Recipe/{index.js → index.ts} +0 -0
  235. /package/src/components/RecipeList/{RecipeList.js → RecipeList.tsx} +0 -0
  236. /package/src/components/SearchBar/{SearchBar.test.js → SearchBar.test.tsx} +0 -0
  237. /package/src/components/SearchBar/{SearchBar.js → SearchBar.tsx} +0 -0
  238. /package/src/components/SearchBar/{index.js → index.ts} +0 -0
  239. /package/src/components/SettingsView/{RandomSeedInput.test.js → RandomSeedInput.test.tsx} +0 -0
  240. /package/src/components/SettingsView/{SettingsView.test.js → SettingsView.test.tsx} +0 -0
  241. /package/src/components/SettingsView/{SettingsView.js → SettingsView.tsx} +0 -0
  242. /package/src/components/SettingsView/{index.js → index.ts} +0 -0
  243. /package/src/components/Shop/{Shop.test.js → Shop.test.tsx} +0 -0
  244. /package/src/components/Shop/TabPanel/{index.js → index.tsx} +0 -0
  245. /package/src/components/Shop/{index.js → index.ts} +0 -0
  246. /package/src/components/Stage/{index.js → index.ts} +0 -0
  247. /package/src/components/StatsView/{StatsView.test.js → StatsView.test.tsx} +0 -0
  248. /package/src/components/StatsView/{StatsView.js → StatsView.tsx} +0 -0
  249. /package/src/components/StatsView/{index.js → index.ts} +0 -0
  250. /package/src/components/TierPurchase/{TierPurchase.test.js → TierPurchase.test.tsx} +0 -0
  251. /package/src/components/TierPurchase/{index.js → index.ts} +0 -0
  252. /package/src/components/Toolbelt/{Toolbelt.test.js → Toolbelt.test.tsx} +0 -0
  253. /package/src/components/Toolbelt/{index.js → index.ts} +0 -0
  254. /package/src/components/UpdateNotifier/{UpdateNotifier.js → UpdateNotifier.tsx} +0 -0
  255. /package/src/components/UpdateNotifier/{index.js → index.ts} +0 -0
  256. /package/src/components/UpgradePurchase/{UpgradePurchase.test.js → UpgradePurchase.test.tsx} +0 -0
  257. /package/src/components/UpgradePurchase/{index.js → index.ts} +0 -0
  258. /package/src/components/Workshop/{KitchenTabPanel.js → KitchenTabPanel.tsx} +0 -0
  259. /package/src/components/Workshop/{RecyclingTabPanel.js → RecyclingTabPanel.tsx} +0 -0
  260. /package/src/components/Workshop/TabPanel/{index.js → index.tsx} +0 -0
  261. /package/src/components/Workshop/{Workshop.js → Workshop.tsx} +0 -0
  262. /package/src/components/Workshop/{index.js → index.ts} +0 -0
  263. /package/src/{config.js → config.ts} +0 -0
  264. /package/src/data/__mocks__/{items.js → items.ts} +0 -0
  265. /package/src/data/__mocks__/{maps.js → maps.ts} +0 -0
  266. /package/src/data/__mocks__/{recipes.js → recipes.ts} +0 -0
  267. /package/src/data/__mocks__/{shop-inventory.js → shop-inventory.ts} +0 -0
  268. /package/src/data/crops/{index.js → index.ts} +0 -0
  269. /package/src/data/{fruit-names.js → fruit-names.ts} +0 -0
  270. /package/src/data/{items-map.js → items-map.ts} +0 -0
  271. /package/src/data/ores/{index.js → index.ts} +0 -0
  272. /package/src/data/{shop-inventory-cow.js → shop-inventory-cow.ts} +0 -0
  273. /package/src/data/{shop-inventory.js → shop-inventory.ts} +0 -0
  274. /package/src/data/{tools.js → tools.ts} +0 -0
  275. /package/src/factories/{CoalFactory.test.js → CoalFactory.test.ts} +0 -0
  276. /package/src/factories/{OreFactory.test.js → OreFactory.test.ts} +0 -0
  277. /package/src/factories/{StoneFactory.test.js → StoneFactory.test.ts} +0 -0
  278. /package/src/factories/{index.js → index.ts} +0 -0
  279. /package/src/game-logic/cows/{cow-selection.test.js → cow-selection.test.ts} +0 -0
  280. /package/src/game-logic/{item-purchase.test.js → item-purchase.test.ts} +0 -0
  281. /package/src/game-logic/{item-sell.test.js → item-sell.test.ts} +0 -0
  282. /package/src/game-logic/reducers/{addCowToInventory.js → addCowToInventory.ts} +0 -0
  283. /package/src/game-logic/reducers/{addExperience.test.js → addExperience.test.ts} +0 -0
  284. /package/src/game-logic/reducers/{addExperience.js → addExperience.ts} +0 -0
  285. /package/src/game-logic/reducers/{addItemToInventory.test.js → addItemToInventory.test.ts} +0 -0
  286. /package/src/game-logic/reducers/{addItemToInventory.js → addItemToInventory.ts} +0 -0
  287. /package/src/game-logic/reducers/{addKegToCellarInventory.js → addKegToCellarInventory.ts} +0 -0
  288. /package/src/game-logic/reducers/{addPeer.js → addPeer.ts} +0 -0
  289. /package/src/game-logic/reducers/{addRevenue.js → addRevenue.ts} +0 -0
  290. /package/src/game-logic/reducers/{adjustLoan.test.js → adjustLoan.test.ts} +0 -0
  291. /package/src/game-logic/reducers/{adjustLoan.js → adjustLoan.ts} +0 -0
  292. /package/src/game-logic/reducers/{applyCrows.test.js → applyCrows.test.ts} +0 -0
  293. /package/src/game-logic/reducers/{applyLoanInterest.test.js → applyLoanInterest.test.ts} +0 -0
  294. /package/src/game-logic/reducers/{applyPrecipitation.test.js → applyPrecipitation.test.ts} +0 -0
  295. /package/src/game-logic/reducers/{changeCowAutomaticHugState.test.js → changeCowAutomaticHugState.test.ts} +0 -0
  296. /package/src/game-logic/reducers/{changeCowBreedingPenResident.test.js → changeCowBreedingPenResident.test.ts} +0 -0
  297. /package/src/game-logic/reducers/{changeCowBreedingPenResident.js → changeCowBreedingPenResident.ts} +0 -0
  298. /package/src/game-logic/reducers/{changeCowName.test.js → changeCowName.test.ts} +0 -0
  299. /package/src/game-logic/reducers/{changeCowName.js → changeCowName.ts} +0 -0
  300. /package/src/game-logic/reducers/{clearPlot.test.js → clearPlot.test.ts} +0 -0
  301. /package/src/game-logic/reducers/{clearPlot.js → clearPlot.ts} +0 -0
  302. /package/src/game-logic/reducers/{computeCowInventoryForNextDay.test.js → computeCowInventoryForNextDay.test.ts} +0 -0
  303. /package/src/game-logic/reducers/{computeCowInventoryForNextDay.js → computeCowInventoryForNextDay.ts} +0 -0
  304. /package/src/game-logic/reducers/{computeStateForNextDay.test.js → computeStateForNextDay.test.ts} +0 -0
  305. /package/src/game-logic/reducers/{consumeIngredients.test.js → consumeIngredients.test.ts} +0 -0
  306. /package/src/game-logic/reducers/{createPriceEvent.test.js → createPriceEvent.test.ts} +0 -0
  307. /package/src/game-logic/reducers/{createPriceEvent.js → createPriceEvent.ts} +0 -0
  308. /package/src/game-logic/reducers/{decrementItemFromInventory.test.js → decrementItemFromInventory.test.ts} +0 -0
  309. /package/src/game-logic/reducers/{decrementItemFromInventory.js → decrementItemFromInventory.ts} +0 -0
  310. /package/src/game-logic/reducers/{fertilizePlot.test.js → fertilizePlot.test.ts} +0 -0
  311. /package/src/game-logic/reducers/{fertilizePlot.js → fertilizePlot.ts} +0 -0
  312. /package/src/game-logic/reducers/{forRange.test.js → forRange.test.ts} +0 -0
  313. /package/src/game-logic/reducers/{forRange.js → forRange.ts} +0 -0
  314. /package/src/game-logic/reducers/{generatePriceEvents.test.js → generatePriceEvents.test.ts} +0 -0
  315. /package/src/game-logic/reducers/{generatePriceEvents.js → generatePriceEvents.ts} +0 -0
  316. /package/src/game-logic/reducers/{harvestPlot.test.js → harvestPlot.test.ts} +0 -0
  317. /package/src/game-logic/reducers/{helpers.js → helpers.tsx} +0 -0
  318. /package/src/game-logic/reducers/{hugCow.test.js → hugCow.test.ts} +0 -0
  319. /package/src/game-logic/reducers/{hugCow.js → hugCow.ts} +0 -0
  320. /package/src/game-logic/reducers/{incrementPlotContentAge.test.js → incrementPlotContentAge.test.ts} +0 -0
  321. /package/src/game-logic/reducers/{incrementPlotContentAge.js → incrementPlotContentAge.ts} +0 -0
  322. /package/src/game-logic/reducers/{index.js → index.ts} +0 -0
  323. /package/src/game-logic/reducers/{makeFermentationRecipe.test.js → makeFermentationRecipe.test.ts} +0 -0
  324. /package/src/game-logic/reducers/{makeRecipe.js → makeRecipe.ts} +0 -0
  325. /package/src/game-logic/reducers/{minePlot.test.js → minePlot.test.ts} +0 -0
  326. /package/src/game-logic/reducers/{modifyCow.js → modifyCow.ts} +0 -0
  327. /package/src/game-logic/reducers/{modifyFieldPlotAt.js → modifyFieldPlotAt.ts} +0 -0
  328. /package/src/game-logic/reducers/{offerCow.test.js → offerCow.test.ts} +0 -0
  329. /package/src/game-logic/reducers/{offerCow.js → offerCow.ts} +0 -0
  330. /package/src/game-logic/reducers/{plantInPlot.test.js → plantInPlot.test.ts} +0 -0
  331. /package/src/game-logic/reducers/{plantInPlot.js → plantInPlot.ts} +0 -0
  332. /package/src/game-logic/reducers/{prependPendingPeerMessage.test.js → prependPendingPeerMessage.test.ts} +0 -0
  333. /package/src/game-logic/reducers/{prependPendingPeerMessage.js → prependPendingPeerMessage.ts} +0 -0
  334. /package/src/game-logic/reducers/{processCellar.test.js → processCellar.test.ts} +0 -0
  335. /package/src/game-logic/reducers/{processCellar.js → processCellar.ts} +0 -0
  336. /package/src/game-logic/reducers/{processCowAttrition.test.js → processCowAttrition.test.ts} +0 -0
  337. /package/src/game-logic/reducers/{processCowAttrition.js → processCowAttrition.ts} +0 -0
  338. /package/src/game-logic/reducers/{processCowBreeding.test.js → processCowBreeding.test.ts} +0 -0
  339. /package/src/game-logic/reducers/{processCowBreeding.js → processCowBreeding.ts} +0 -0
  340. /package/src/game-logic/reducers/{processCowFertilizerProduction.test.js → processCowFertilizerProduction.test.ts} +0 -0
  341. /package/src/game-logic/reducers/{processFeedingCows.test.js → processFeedingCows.test.ts} +0 -0
  342. /package/src/game-logic/reducers/{processFeedingCows.js → processFeedingCows.ts} +0 -0
  343. /package/src/game-logic/reducers/{processField.js → processField.ts} +0 -0
  344. /package/src/game-logic/reducers/{processLevelUp.test.js → processLevelUp.test.ts} +0 -0
  345. /package/src/game-logic/reducers/{processMilkingCows.test.js → processMilkingCows.test.ts} +0 -0
  346. /package/src/game-logic/reducers/{processMilkingCows.js → processMilkingCows.ts} +0 -0
  347. /package/src/game-logic/reducers/{processNerfs.test.js → processNerfs.test.ts} +0 -0
  348. /package/src/game-logic/reducers/{processNerfs.js → processNerfs.ts} +0 -0
  349. /package/src/game-logic/reducers/{processSprinklers.test.js → processSprinklers.test.ts} +0 -0
  350. /package/src/game-logic/reducers/{processSprinklers.js → processSprinklers.ts} +0 -0
  351. /package/src/game-logic/reducers/{processWeather.test.js → processWeather.test.ts} +0 -0
  352. /package/src/game-logic/reducers/{processWeather.js → processWeather.ts} +0 -0
  353. /package/src/game-logic/reducers/{purchaseCellar.test.js → purchaseCellar.test.ts} +0 -0
  354. /package/src/game-logic/reducers/{purchaseCellar.js → purchaseCellar.ts} +0 -0
  355. /package/src/game-logic/reducers/{purchaseCombine.test.js → purchaseCombine.test.ts} +0 -0
  356. /package/src/game-logic/reducers/{purchaseCombine.js → purchaseCombine.ts} +0 -0
  357. /package/src/game-logic/reducers/{purchaseComposter.test.js → purchaseComposter.test.ts} +0 -0
  358. /package/src/game-logic/reducers/{purchaseComposter.js → purchaseComposter.ts} +0 -0
  359. /package/src/game-logic/reducers/{purchaseCow.test.js → purchaseCow.test.ts} +0 -0
  360. /package/src/game-logic/reducers/{purchaseCow.js → purchaseCow.ts} +0 -0
  361. /package/src/game-logic/reducers/{purchaseCowPen.test.js → purchaseCowPen.test.ts} +0 -0
  362. /package/src/game-logic/reducers/{purchaseCowPen.js → purchaseCowPen.ts} +0 -0
  363. /package/src/game-logic/reducers/{purchaseItem.test.js → purchaseItem.test.ts} +0 -0
  364. /package/src/game-logic/reducers/{purchaseItem.js → purchaseItem.ts} +0 -0
  365. /package/src/game-logic/reducers/{purchaseSmelter.test.js → purchaseSmelter.test.ts} +0 -0
  366. /package/src/game-logic/reducers/{purchaseSmelter.js → purchaseSmelter.ts} +0 -0
  367. /package/src/game-logic/reducers/{purchaseStorageExpansion.test.js → purchaseStorageExpansion.test.ts} +0 -0
  368. /package/src/game-logic/reducers/{purchaseStorageExpansion.js → purchaseStorageExpansion.ts} +0 -0
  369. /package/src/game-logic/reducers/{removeCowFromInventory.js → removeCowFromInventory.ts} +0 -0
  370. /package/src/game-logic/reducers/{removeFieldPlotAt.js → removeFieldPlotAt.ts} +0 -0
  371. /package/src/game-logic/reducers/{removeKegFromCellar.js → removeKegFromCellar.ts} +0 -0
  372. /package/src/game-logic/reducers/{removePeer.js → removePeer.ts} +0 -0
  373. /package/src/game-logic/reducers/{rotateNotificationLogs.test.js → rotateNotificationLogs.test.ts} +0 -0
  374. /package/src/game-logic/reducers/{selectCow.test.js → selectCow.test.ts} +0 -0
  375. /package/src/game-logic/reducers/{selectCow.js → selectCow.ts} +0 -0
  376. /package/src/game-logic/reducers/{sellCow.js → sellCow.ts} +0 -0
  377. /package/src/game-logic/reducers/{sellItem.js → sellItem.ts} +0 -0
  378. /package/src/game-logic/reducers/{sellKeg.test.js → sellKeg.test.ts} +0 -0
  379. /package/src/game-logic/reducers/{setScarecrow.test.js → setScarecrow.test.ts} +0 -0
  380. /package/src/game-logic/reducers/{setScarecrow.js → setScarecrow.ts} +0 -0
  381. /package/src/game-logic/reducers/{setSprinkler.test.js → setSprinkler.test.ts} +0 -0
  382. /package/src/game-logic/reducers/{setSprinkler.js → setSprinkler.ts} +0 -0
  383. /package/src/game-logic/reducers/{showNotification.test.js → showNotification.test.ts} +0 -0
  384. /package/src/game-logic/reducers/{showNotification.js → showNotification.ts} +0 -0
  385. /package/src/game-logic/reducers/{spawnWeeds.test.js → spawnWeeds.test.ts} +0 -0
  386. /package/src/game-logic/reducers/{unlockTool.test.js → unlockTool.test.ts} +0 -0
  387. /package/src/game-logic/reducers/{unlockTool.js → unlockTool.ts} +0 -0
  388. /package/src/game-logic/reducers/{updateAchievements.test.js → updateAchievements.test.ts} +0 -0
  389. /package/src/game-logic/reducers/{updateFinancialRecords.test.js → updateFinancialRecords.test.ts} +0 -0
  390. /package/src/game-logic/reducers/{updateFinancialRecords.js → updateFinancialRecords.ts} +0 -0
  391. /package/src/game-logic/reducers/{updateInventoryRecordsForNextDay.test.js → updateInventoryRecordsForNextDay.test.ts} +0 -0
  392. /package/src/game-logic/reducers/{updateInventoryRecordsForNextDay.js → updateInventoryRecordsForNextDay.ts} +0 -0
  393. /package/src/game-logic/reducers/{updateLearnedRecipes.test.js → updateLearnedRecipes.test.ts} +0 -0
  394. /package/src/game-logic/reducers/{updateLearnedRecipes.js → updateLearnedRecipes.ts} +0 -0
  395. /package/src/game-logic/reducers/{updatePlotShoveledState.js → updatePlotShoveledState.ts} +0 -0
  396. /package/src/game-logic/reducers/{updatePriceEvents.test.js → updatePriceEvents.test.ts} +0 -0
  397. /package/src/game-logic/reducers/{updatePriceEvents.js → updatePriceEvents.tsx} +0 -0
  398. /package/src/game-logic/reducers/{upgradeTool.test.js → upgradeTool.test.ts} +0 -0
  399. /package/src/game-logic/reducers/{upgradeTool.js → upgradeTool.ts} +0 -0
  400. /package/src/game-logic/reducers/{waterAllPlots.test.js → waterAllPlots.test.ts} +0 -0
  401. /package/src/game-logic/reducers/{waterAllPlots.js → waterAllPlots.ts} +0 -0
  402. /package/src/game-logic/reducers/{waterField.js → waterField.ts} +0 -0
  403. /package/src/game-logic/reducers/{waterPlot.test.js → waterPlot.test.ts} +0 -0
  404. /package/src/game-logic/reducers/{waterPlot.js → waterPlot.ts} +0 -0
  405. /package/src/game-logic/reducers/{withdrawCow.test.js → withdrawCow.test.ts} +0 -0
  406. /package/src/game-logic/reducers/{withdrawCow.js → withdrawCow.ts} +0 -0
  407. /package/src/img/__mocks__/{index.js → index.ts} +0 -0
  408. /package/src/img/{index.js → index.ts} +0 -0
  409. /package/src/interfaces/{Factory.js → Factory.ts} +0 -0
  410. /package/src/{mui-theme.js → mui-theme.ts} +0 -0
  411. /package/src/{polyfills.js → polyfills.ts} +0 -0
  412. /package/src/services/{cellar.js → cellar.ts} +0 -0
  413. /package/src/services/{wine.test.js → wine.test.ts} +0 -0
  414. /package/src/{setupTests.js → setupTests.ts} +0 -0
  415. /package/src/shell/{bootup.test.js → bootup.test.ts} +0 -0
  416. /package/src/shell/{field.test.js → field.test.ts} +0 -0
  417. /package/src/shell/{game-saving.test.js → game-saving.test.ts} +0 -0
  418. /package/src/shell/{navigation.test.js → navigation.test.ts} +0 -0
  419. /package/src/shell/{pending-notifications.test.js → pending-notifications.test.ts} +0 -0
  420. /package/src/{strings.js → strings.ts} +0 -0
  421. /package/src/test-utils/stubs/{cowStub.js → cowStub.ts} +0 -0
  422. /package/src/test-utils/stubs/{farmhandStub.js → farmhandStub.tsx} +0 -0
  423. /package/src/test-utils/stubs/{itemStub.js → itemStub.ts} +0 -0
  424. /package/src/test-utils/stubs/{peerMetadataStub.js → peerMetadataStub.ts} +0 -0
  425. /package/src/test-utils/stubs/{saveDataStubFactory.js → saveDataStubFactory.ts} +0 -0
  426. /package/src/test-utils/{ui.js → ui.ts} +0 -0
  427. /package/src/utils/__snapshots__/{index.test.js.snap → index.test.ts.snap} +0 -0
  428. /package/src/utils/{findInField.test.js → findInField.test.ts} +0 -0
  429. /package/src/utils/{findInField.js → findInField.ts} +0 -0
  430. /package/src/utils/{getCropLifecycleDuration.test.js → getCropLifecycleDuration.test.ts} +0 -0
  431. /package/src/utils/{getCropsAvailableToFerment.test.js → getCropsAvailableToFerment.test.ts} +0 -0
  432. /package/src/utils/{getItemBaseValue.js → getItemBaseValue.ts} +0 -0
  433. /package/src/utils/{getKegSpoilageRate.test.js → getKegSpoilageRate.test.ts} +0 -0
  434. /package/src/utils/{getKegSpoilageRate.js → getKegSpoilageRate.ts} +0 -0
  435. /package/src/utils/{getKegValue.test.js → getKegValue.test.ts} +0 -0
  436. /package/src/utils/{getKegValue.js → getKegValue.ts} +0 -0
  437. /package/src/utils/{getLevelEntitlements.test.js → getLevelEntitlements.test.ts} +0 -0
  438. /package/src/utils/{getMaxYieldOfFermentationRecipe.test.js → getMaxYieldOfFermentationRecipe.test.ts} +0 -0
  439. /package/src/utils/{getSaltRequirementsForFermentationRecipe.js → getSaltRequirementsForFermentationRecipe.ts} +0 -0
  440. /package/src/utils/{getWineVarietiesAvailableToMake.test.js → getWineVarietiesAvailableToMake.test.ts} +0 -0
  441. /package/src/utils/{getYeastRequiredForWine.js → getYeastRequiredForWine.ts} +0 -0
  442. /package/src/utils/{isItemAGrownCrop.js → isItemAGrownCrop.ts} +0 -0
  443. /package/src/utils/{levelAchieved.js → levelAchieved.ts} +0 -0
  444. /package/src/utils/{moneyString.test.js → moneyString.test.ts} +0 -0
  445. /package/src/utils/{moneyString.js → moneyString.ts} +0 -0
  446. /package/src/utils/{noop.js → noop.ts} +0 -0
  447. /package/src/utils/{totalIngredientsInRecipe.test.js → totalIngredientsInRecipe.test.ts} +0 -0
@@ -6,109 +6,136 @@ import * as recipes from './recipes.js'
6
6
 
7
7
  export const levels = []
8
8
 
9
+ // @ts-expect-error
9
10
  levels[1] = {
10
11
  unlocksShopItem: items.carrotSeed.id,
11
12
  }
12
13
 
14
+ // @ts-expect-error
13
15
  levels[2] = {
14
16
  unlocksShopItem: items.spinachSeed.id,
15
17
  }
16
18
 
19
+ // @ts-expect-error
17
20
  levels[3] = {
18
21
  unlocksShopItem: recipes.fertilizer.id,
19
22
  }
20
23
 
24
+ // @ts-expect-error
21
25
  levels[4] = {
22
26
  unlocksShopItem: items.pumpkinSeed.id,
23
27
  }
24
28
 
29
+ // @ts-expect-error
25
30
  levels[5] = {
26
31
  unlocksShopItem: items.sprinkler.id,
27
32
  }
28
33
 
34
+ // @ts-expect-error
29
35
  levels[6] = {
30
36
  unlocksTool: toolType.SHOVEL,
31
37
  }
32
38
 
39
+ // @ts-expect-error
33
40
  levels[8] = {
34
41
  increasesSprinklerRange: true,
35
42
  }
36
43
 
44
+ // @ts-expect-error
37
45
  levels[10] = {
38
46
  unlocksShopItem: items.cornSeed.id,
39
47
  }
40
48
 
49
+ // @ts-expect-error
41
50
  levels[12] = {
42
51
  increasesSprinklerRange: true,
43
52
  }
44
53
 
54
+ // @ts-expect-error
45
55
  levels[14] = {
46
56
  unlocksShopItem: items.potatoSeed.id,
47
57
  }
48
58
 
59
+ // @ts-expect-error
49
60
  if (features.FOREST) {
61
+ // @ts-expect-error
50
62
  levels[15] = {
51
63
  unlocksStageFocusType: stageFocusType.FOREST,
52
64
  }
53
65
  }
54
66
 
67
+ // @ts-expect-error
55
68
  levels[16] = {
56
69
  unlocksShopItem: items.onionSeed.id,
57
70
  }
58
71
 
72
+ // @ts-expect-error
59
73
  levels[18] = {
60
74
  unlocksShopItem: items.soybeanSeed.id,
61
75
  }
62
76
 
77
+ // @ts-expect-error
63
78
  levels[20] = {
64
79
  unlocksShopItem: items.wheatSeed.id,
65
80
  }
66
81
 
82
+ // @ts-expect-error
67
83
  levels[22] = {
68
84
  unlocksShopItem: items.tomatoSeed.id,
69
85
  }
70
86
 
87
+ // @ts-expect-error
71
88
  levels[24] = {
72
89
  unlocksShopItem: items.asparagusSeed.id,
73
90
  }
74
91
 
92
+ // @ts-expect-error
75
93
  levels[26] = {
76
94
  unlocksShopItem: items.jalapenoSeed.id,
77
95
  }
78
96
 
97
+ // @ts-expect-error
79
98
  levels[28] = {
80
99
  unlocksShopItem: items.watermelonSeed.id,
81
100
  }
82
101
 
102
+ // @ts-expect-error
83
103
  levels[30] = {
84
104
  unlocksShopItem: items.peaSeed.id,
85
105
  }
86
106
 
107
+ // @ts-expect-error
87
108
  levels[32] = {
88
109
  unlocksShopItem: items.strawberrySeed.id,
89
110
  }
90
111
 
112
+ // @ts-expect-error
91
113
  levels[34] = {
92
114
  unlocksShopItem: items.garlicSeed.id,
93
115
  }
94
116
 
117
+ // @ts-expect-error
95
118
  levels[36] = {
96
119
  unlocksShopItem: items.sweetPotatoSeed.id,
97
120
  }
98
121
 
122
+ // @ts-expect-error
99
123
  levels[38] = {
100
124
  unlocksShopItem: items.oliveSeed.id,
101
125
  }
102
126
 
127
+ // @ts-expect-error
103
128
  levels[40] = {
104
129
  unlocksShopItem: items.sunflowerSeed.id,
105
130
  }
106
131
 
132
+ // @ts-expect-error
107
133
  levels[42] = {
108
134
  unlocksShopItem: items.grapeSeed.id,
109
135
  }
110
136
 
111
137
  for (let i = 0; i < levels.length; i++) {
138
+ // @ts-expect-error
112
139
  levels[i] = { id: i, ...levels[i] }
113
140
  }
114
141
 
@@ -124,6 +151,7 @@ export const unlockableItems = levels.reduce((acc, { id, unlocksShopItem }) => {
124
151
 
125
152
  export const itemUnlockLevels = Object.entries(unlockableItems).reduce(
126
153
  (acc, [itemId, level]) => {
154
+ // @ts-expect-error
127
155
  acc[level] = itemId
128
156
  return acc
129
157
  },
@@ -79,6 +79,7 @@ export const fermentableItemsMap = Object.fromEntries(
79
79
  */
80
80
  export const cropItemIdToSeedItemMap = Object.entries(baseItemsMap).reduce(
81
81
  (acc, [itemId, item]) => {
82
+ // @ts-expect-error
82
83
  const { growsInto } = item
83
84
  if (growsInto) {
84
85
  const variants = Array.isArray(growsInto) ? growsInto : [growsInto]
@@ -101,7 +102,7 @@ export const cropTypeToIdMap = {
101
102
  [CARROT]: 'carrot',
102
103
  [CORN]: 'corn',
103
104
  [GARLIC]: 'garlic',
104
- [GRAPE]: /** @type {string | string[]} */ (grapeSeed.growsInto),
105
+ [GRAPE /** @type {string | string[]} */]: grapeSeed.growsInto,
105
106
  [JALAPENO]: 'jalapeno',
106
107
  [OLIVE]: 'olive',
107
108
  [ONION]: 'onion',
@@ -12,7 +12,7 @@ export const bronzeOre = freeze({
12
12
  doesPriceFluctuate: true,
13
13
  id: 'bronze-ore',
14
14
  name: 'Bronze Ore',
15
- type: /** @type {farmhand.itemType} */ (itemType.ORE),
15
+ type: /** @type {farmhand.itemType} */ itemType.ORE,
16
16
  value: 25,
17
17
  spawnChance: BRONZE_SPAWN_CHANCE,
18
18
  })
@@ -12,7 +12,7 @@ export const coal = freeze({
12
12
  doesPriceFluctuate: false,
13
13
  id: 'coal',
14
14
  name: 'Coal',
15
- type: /** @type {farmhand.itemType} */ (itemType.FUEL),
15
+ type: /** @type {farmhand.itemType} */ itemType.FUEL,
16
16
  spawnChance: COAL_SPAWN_CHANCE,
17
17
  value: 2,
18
18
  })
@@ -12,7 +12,7 @@ export const goldOre = freeze({
12
12
  doesPriceFluctuate: true,
13
13
  id: 'gold-ore',
14
14
  name: 'Gold Ore',
15
- type: /** @type {farmhand.itemType} */ (itemType.ORE),
15
+ type: /** @type {farmhand.itemType} */ itemType.ORE,
16
16
  value: 500,
17
17
  spawnChance: GOLD_SPAWN_CHANCE,
18
18
  })
@@ -12,7 +12,7 @@ export const ironOre = freeze({
12
12
  doesPriceFluctuate: true,
13
13
  id: 'iron-ore',
14
14
  name: 'Iron Ore',
15
- type: /** @type {farmhand.itemType} */ (itemType.ORE),
15
+ type: /** @type {farmhand.itemType} */ itemType.ORE,
16
16
  value: 40,
17
17
  spawnChance: IRON_SPAWN_CHANCE,
18
18
  })
@@ -13,6 +13,6 @@ export const saltRock = freeze({
13
13
  id: 'salt-rock',
14
14
  name: 'Salt Rock',
15
15
  spawnChance: SALT_ROCK_SPAWN_CHANCE,
16
- type: /** @type {farmhand.itemType} */ (itemType.STONE),
16
+ type: /** @type {farmhand.itemType} */ itemType.STONE,
17
17
  value: 10,
18
18
  })
@@ -12,7 +12,7 @@ export const silverOre = freeze({
12
12
  doesPriceFluctuate: true,
13
13
  id: 'silver-ore',
14
14
  name: 'Silver Ore',
15
- type: /** @type {farmhand.itemType} */ (itemType.ORE),
15
+ type: /** @type {farmhand.itemType} */ itemType.ORE,
16
16
  value: 100,
17
17
  spawnChance: SILVER_SPAWN_CHANCE,
18
18
  })
@@ -13,6 +13,6 @@ export const stone = freeze({
13
13
  id: 'stone',
14
14
  name: 'Stone',
15
15
  spawnChance: STONE_SPAWN_CHANCE,
16
- type: /** @type {farmhand.itemType} */ (itemType.STONE),
16
+ type: /** @type {farmhand.itemType} */ itemType.STONE,
17
17
  value: 10,
18
18
  })
@@ -32,9 +32,9 @@ const convertToRecipe = partialRecipe => {
32
32
  ...partialRecipe,
33
33
  })
34
34
 
35
- itemsMap[partialRecipe.id] = /** @type {farmhand.item} */ (recipe)
35
+ itemsMap[partialRecipe.id] = /** @type {farmhand.item} */ recipe
36
36
 
37
- return /** @type {farmhand.recipe} */ (recipe)
37
+ return /** @type {farmhand.recipe} */ recipe
38
38
  }
39
39
 
40
40
  /**
@@ -49,7 +49,7 @@ export const salt = convertToRecipe({
49
49
  },
50
50
  condition: state => (state.itemsSold[items.saltRock.id] || 0) >= 30,
51
51
  description: 'Useful for seasoning food and fermentation.',
52
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
52
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
53
53
  })
54
54
 
55
55
  /**
@@ -63,7 +63,7 @@ export const flour = convertToRecipe({
63
63
  [items.wheat.id]: 10,
64
64
  },
65
65
  condition: state => (state.itemsSold[items.wheat.id] || 0) >= 20,
66
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
66
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
67
67
  })
68
68
 
69
69
  /**
@@ -77,7 +77,7 @@ export const yeast = convertToRecipe({
77
77
  [flour.id]: 5,
78
78
  },
79
79
  condition: state => (state.itemsSold[flour.id] || 0) >= 25,
80
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
80
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
81
81
  })
82
82
 
83
83
  /**
@@ -94,7 +94,7 @@ const getWineRecipeFromGrape = grape => {
94
94
  [grape.id]: GRAPES_REQUIRED_FOR_WINE,
95
95
  [yeast.id]: getYeastRequiredForWine(grape.variety),
96
96
  },
97
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.WINE),
97
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.WINE,
98
98
  // NOTE: This prevents wines from appearing in the Learned Recipes list in the Workshop
99
99
  condition: () => false,
100
100
  }),
@@ -116,7 +116,7 @@ export const bread = convertToRecipe({
116
116
  condition: state =>
117
117
  (state.itemsSold[flour.id] || 0) >= 30 &&
118
118
  (state.itemsSold[yeast.id] || 0) >= 15,
119
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
119
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
120
120
  })
121
121
 
122
122
  /**
@@ -130,7 +130,7 @@ export const butter = convertToRecipe({
130
130
  [items.milk3.id]: 5,
131
131
  },
132
132
  condition: state => (state.itemsSold[items.milk3.id] || 0) >= 30,
133
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
133
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
134
134
  })
135
135
 
136
136
  /**
@@ -144,7 +144,7 @@ export const sunButter = convertToRecipe({
144
144
  [items.sunflower.id]: 25,
145
145
  },
146
146
  condition: state => (state.itemsSold[items.sunflower.id] || 0) >= 200,
147
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
147
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
148
148
  })
149
149
 
150
150
  /*
@@ -158,7 +158,7 @@ export const oliveOil = convertToRecipe({
158
158
  [items.olive.id]: 250,
159
159
  },
160
160
  condition: state => (state.itemsSold[items.olive.id] || 0) >= 500,
161
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
161
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
162
162
  })
163
163
 
164
164
  /**
@@ -172,7 +172,7 @@ export const cheese = convertToRecipe({
172
172
  [items.milk3.id]: 8,
173
173
  },
174
174
  condition: state => (state.itemsSold[items.milk3.id] || 0) >= 20,
175
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
175
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
176
176
  })
177
177
 
178
178
  /**
@@ -186,7 +186,7 @@ export const rainbowCheese = convertToRecipe({
186
186
  [items.rainbowMilk3.id]: 10,
187
187
  },
188
188
  condition: state => (state.itemsSold[items.rainbowMilk3.id] || 0) >= 30,
189
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
189
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
190
190
  })
191
191
 
192
192
  /**
@@ -200,7 +200,7 @@ export const chocolate = convertToRecipe({
200
200
  [items.chocolateMilk.id]: 10,
201
201
  },
202
202
  condition: state => (state.itemsSold[items.chocolateMilk.id] || 0) >= 25,
203
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
203
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
204
204
  })
205
205
 
206
206
  /**
@@ -214,7 +214,7 @@ export const carrotSoup = convertToRecipe({
214
214
  [items.carrot.id]: 4,
215
215
  },
216
216
  condition: state => (state.itemsSold[items.carrot.id] || 0) >= 10,
217
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
217
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
218
218
  })
219
219
 
220
220
  /**
@@ -228,7 +228,7 @@ export const jackolantern = convertToRecipe({
228
228
  [items.pumpkin.id]: 1,
229
229
  },
230
230
  condition: state => (state.itemsSold[items.pumpkin.id] || 0) >= 50,
231
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
231
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
232
232
  })
233
233
 
234
234
  /**
@@ -245,7 +245,7 @@ export const spaghetti = convertToRecipe({
245
245
  condition: state =>
246
246
  (state.itemsSold[items.wheat.id] || 0) >= 20 &&
247
247
  (state.itemsSold[items.tomato.id] || 0) >= 5,
248
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
248
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
249
249
  })
250
250
 
251
251
  /**
@@ -263,7 +263,7 @@ export const frenchOnionSoup = convertToRecipe({
263
263
  condition: state =>
264
264
  (state.itemsSold[items.onion.id] || 0) >= 15 &&
265
265
  (state.itemsSold[cheese.id] || 0) >= 10,
266
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
266
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
267
267
  })
268
268
 
269
269
  /**
@@ -288,7 +288,7 @@ export const burger = convertToRecipe({
288
288
  (state.itemsSold[items.soybean.id] || 0) >= 25 &&
289
289
  (state.itemsSold[items.spinach.id] || 0) >= 5 &&
290
290
  (state.itemsSold[items.tomato.id] || 0) >= 5,
291
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
291
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
292
292
  })
293
293
 
294
294
  /**
@@ -307,7 +307,7 @@ export const summerSalad = convertToRecipe({
307
307
  (state.itemsSold[items.spinach.id] || 0) >= 30 &&
308
308
  (state.itemsSold[items.corn.id] || 0) > 5 &&
309
309
  (state.itemsSold[items.carrot.id] || 0) > 5,
310
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
310
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
311
311
  })
312
312
 
313
313
  /**
@@ -321,7 +321,7 @@ export const soyMilk = convertToRecipe({
321
321
  [items.soybean.id]: 20,
322
322
  },
323
323
  condition: state => (state.itemsSold[items.soybean.id] || 0) >= 100,
324
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
324
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
325
325
  })
326
326
 
327
327
  /**
@@ -338,7 +338,7 @@ export const chocolateSoyMilk = convertToRecipe({
338
338
  condition: state =>
339
339
  (state.itemsSold[soyMilk.id] || 0) >= 5 &&
340
340
  (state.itemsSold[chocolate.id] || 0) >= 5,
341
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
341
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
342
342
  })
343
343
 
344
344
  /**
@@ -352,7 +352,7 @@ export const tofu = convertToRecipe({
352
352
  [soyMilk.id]: 4,
353
353
  },
354
354
  condition: state => (state.itemsSold[soyMilk.id] || 0) >= 20,
355
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
355
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
356
356
  })
357
357
 
358
358
  /**
@@ -375,7 +375,7 @@ export const chicknPotPie = convertToRecipe({
375
375
  (state.itemsSold[items.carrot.id] || 0) >= 300 &&
376
376
  (state.itemsSold[items.wheat.id] || 0) >= 425 &&
377
377
  (state.itemsSold[soyMilk.id] || 0) >= 15,
378
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
378
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
379
379
  })
380
380
 
381
381
  /**
@@ -390,7 +390,7 @@ export const hotSauce = convertToRecipe({
390
390
  [salt.id]: 1,
391
391
  },
392
392
  condition: state => (state.itemsSold[items.jalapeno.id] || 0) >= 50,
393
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
393
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
394
394
  })
395
395
 
396
396
  /**
@@ -411,7 +411,7 @@ export const salsa = convertToRecipe({
411
411
  (state.itemsSold[items.onion.id] || 0) >= 5 &&
412
412
  (state.itemsSold[items.tomato.id] || 0) >= 5 &&
413
413
  (state.itemsSold[items.corn.id] || 0) >= 5,
414
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
414
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
415
415
  })
416
416
 
417
417
  /**
@@ -428,7 +428,7 @@ export const spicyCheese = convertToRecipe({
428
428
  condition: state =>
429
429
  (state.itemsSold[items.jalapeno.id] || 0) >= 20 &&
430
430
  (state.itemsSold[items.milk3.id] || 0) >= 50,
431
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
431
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
432
432
  })
433
433
 
434
434
  /**
@@ -442,7 +442,7 @@ export const vegetableOil = convertToRecipe({
442
442
  [items.soybean.id]: 350,
443
443
  },
444
444
  condition: state => (state.itemsSold[items.soybean.id] || 0) >= 900,
445
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
445
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
446
446
  })
447
447
 
448
448
  /**
@@ -459,7 +459,7 @@ export const friedTofu = convertToRecipe({
459
459
  condition: state =>
460
460
  (state.itemsSold[tofu.id] || 0) >= 50 &&
461
461
  (state.itemsSold[vegetableOil.id] || 0) >= 50,
462
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
462
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
463
463
  })
464
464
 
465
465
  /**
@@ -476,7 +476,7 @@ export const spicyPickledGarlic = convertToRecipe({
476
476
  condition: state =>
477
477
  (state.itemsSold[items.jalapeno.id] || 0) >= 12 &&
478
478
  (state.itemsSold[items.garlic.id] || 0) >= 25,
479
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
479
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
480
480
  })
481
481
 
482
482
  /**
@@ -495,7 +495,7 @@ export const garlicFries = convertToRecipe({
495
495
  condition: state =>
496
496
  (state.itemsSold[items.potato.id] || 0) >= 50 &&
497
497
  (state.itemsSold[items.garlic.id] || 0) >= 30,
498
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
498
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
499
499
  })
500
500
 
501
501
  /**
@@ -514,7 +514,7 @@ export const garlicBread = convertToRecipe({
514
514
  (state.itemsSold[bread.id] || 0) >= 30 &&
515
515
  (state.itemsSold[oliveOil.id] || 0) >= 20 &&
516
516
  (state.itemsSold[items.garlic.id] || 0) >= 50,
517
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
517
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
518
518
  })
519
519
 
520
520
  /**
@@ -528,7 +528,7 @@ export const strawberryJam = convertToRecipe({
528
528
  [items.strawberry.id]: 10,
529
529
  },
530
530
  condition: state => (state.itemsSold[items.strawberry.id] || 0) >= 60,
531
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
531
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
532
532
  })
533
533
 
534
534
  /**
@@ -545,7 +545,7 @@ export const popcorn = convertToRecipe({
545
545
  condition: state =>
546
546
  (state.itemsSold[items.corn.id] || 0) >= 12 &&
547
547
  (state.itemsSold[butter.id] || 0) >= 6,
548
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
548
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
549
549
  })
550
550
 
551
551
  /**
@@ -564,7 +564,7 @@ export const pumpkinPie = convertToRecipe({
564
564
  (state.itemsSold[items.pumpkin.id] || 0) >= 200 &&
565
565
  (state.itemsSold[items.wheat.id] || 0) >= 250 &&
566
566
  (state.itemsSold[butter.id] || 0) >= 75,
567
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
567
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
568
568
  })
569
569
 
570
570
  /**
@@ -583,7 +583,7 @@ export const sweetPotatoPie = convertToRecipe({
583
583
  (state.itemsSold[items.sweetPotato.id] || 0) >= 200 &&
584
584
  (state.itemsSold[items.wheat.id] || 0) >= 250 &&
585
585
  (state.itemsSold[butter.id] || 0) >= 75,
586
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
586
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
587
587
  })
588
588
 
589
589
  /**
@@ -599,7 +599,7 @@ export const sweetPotatoFries = convertToRecipe({
599
599
  [salt.id]: 1,
600
600
  },
601
601
  condition: state => (state.itemsSold[items.sweetPotato.id] || 0) >= 100,
602
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
602
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
603
603
  })
604
604
 
605
605
  /**
@@ -621,7 +621,7 @@ export const onionRings = convertToRecipe({
621
621
  (state.itemsSold[vegetableOil.id] || 0) > 20 &&
622
622
  (state.itemsSold[soyMilk.id] || 0) > 20 &&
623
623
  (state.itemsSold[items.wheat.id] || 0) > 30,
624
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.KITCHEN),
624
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.KITCHEN,
625
625
  })
626
626
 
627
627
  /**
@@ -638,7 +638,7 @@ export const bronzeIngot = convertToRecipe({
638
638
  condition: state =>
639
639
  state.purchasedSmelter > 0 &&
640
640
  (state.itemsSold[items.bronzeOre.id] || 0) >= 50,
641
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.FORGE),
641
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.FORGE,
642
642
  })
643
643
 
644
644
  /**
@@ -655,7 +655,7 @@ export const ironIngot = convertToRecipe({
655
655
  condition: state =>
656
656
  state.purchasedSmelter > 0 &&
657
657
  (state.itemsSold[items.ironOre.id] || 0) >= 50,
658
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.FORGE),
658
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.FORGE,
659
659
  })
660
660
 
661
661
  /**
@@ -672,7 +672,7 @@ export const silverIngot = convertToRecipe({
672
672
  condition: state =>
673
673
  state.purchasedSmelter > 0 &&
674
674
  (state.itemsSold[items.silverOre.id] || 0) >= 50,
675
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.FORGE),
675
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.FORGE,
676
676
  })
677
677
 
678
678
  /**
@@ -689,7 +689,7 @@ export const goldIngot = convertToRecipe({
689
689
  condition: state =>
690
690
  state.purchasedSmelter > 0 &&
691
691
  (state.itemsSold[items.goldOre.id] || 0) >= 50,
692
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.FORGE),
692
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.FORGE,
693
693
  })
694
694
 
695
695
  export const compost = convertToRecipe({
@@ -702,7 +702,7 @@ export const compost = convertToRecipe({
702
702
  state.purchasedComposter > 0 &&
703
703
  (state.itemsSold[items.weed.id] || 0) >= 100,
704
704
  description: 'Can be used to make fertilizer.',
705
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.RECYCLING),
705
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.RECYCLING,
706
706
  type: itemType.CRAFTED_ITEM,
707
707
  })
708
708
 
@@ -720,7 +720,7 @@ export const fertilizer = convertToRecipe({
720
720
  state.purchasedComposter > 0 && (state.itemsSold[compost.id] || 0) >= 10,
721
721
  description: 'Helps crops grow and mature a little faster.',
722
722
  enablesFieldMode: fieldMode.FERTILIZE,
723
- recipeType: /** @type {farmhand.recipeType} */ (recipeType.RECYCLING),
723
+ recipeType: /** @type {farmhand.recipeType} */ recipeType.RECYCLING,
724
724
  type: itemType.FERTILIZER,
725
725
  value: 25,
726
726
  })
@@ -173,10 +173,10 @@ const upgrades = {
173
173
  }
174
174
 
175
175
  // add some defaults to each upgrade object
176
- for (let toolType in upgrades) {
177
- for (let i in upgrades[toolType]) {
178
- Object.assign(upgrades[toolType][i], {
179
- toolType,
176
+ for (let currentToolType in upgrades) {
177
+ for (let i in upgrades[currentToolType]) {
178
+ Object.assign(upgrades[currentToolType][i], {
179
+ toolType: currentToolType,
180
180
  value: 0,
181
181
  doesPriceFluctuate: false,
182
182
  type: itemType.TOOL_UPGRADE,