@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
@@ -58,7 +58,8 @@ const WineRecipeStub = (
58
58
  handlers: { ...stubHandlers, ...handlers },
59
59
  }}
60
60
  >
61
- <WineRecipe wineVariety={grapeChardonnay.variety} {...props} />
61
+ {/* @ts-expect-error */}
62
+ <WineRecipe wineVariety={grapeChardonnay.variety as any} {...props} />
62
63
  </FarmhandContext.Provider>
63
64
  )
64
65
  }
@@ -83,6 +84,7 @@ describe('WineRecipe', () => {
83
84
  render(
84
85
  <WineRecipeStub
85
86
  props={{ wineVariety: grape.variety }}
87
+ // @ts-expect-error
86
88
  state={{ inventory: [{ id: grape.id, quantity: 1 }] }}
87
89
  />
88
90
  )
@@ -110,6 +112,7 @@ describe('WineRecipe', () => {
110
112
  render(
111
113
  <WineRecipeStub
112
114
  props={{ wineVariety: grape.variety }}
115
+ // @ts-expect-error
113
116
  state={{ inventory: [{ id: grape.id, quantity }] }}
114
117
  />
115
118
  )
@@ -139,6 +142,7 @@ describe('WineRecipe', () => {
139
142
  render(
140
143
  <WineRecipeStub
141
144
  props={{ wineVariety: grape.variety }}
145
+ // @ts-expect-error
142
146
  state={{
143
147
  inventory: [
144
148
  { id: grape.id, quantity: GRAPES_REQUIRED_FOR_WINE },
@@ -177,7 +181,9 @@ describe('WineRecipe', () => {
177
181
  <WineRecipeStub
178
182
  props={{ wineVariety: grape.variety }}
179
183
  state={{
184
+ // @ts-expect-error
180
185
  cellarInventory: new Array(quantity).fill(
186
+ // @ts-expect-error
181
187
  getKegStub({ itemId: grape.wineId })
182
188
  ),
183
189
  }}
@@ -208,6 +214,7 @@ describe('WineRecipe', () => {
208
214
  render(
209
215
  <WineRecipeStub
210
216
  props={{ wineVariety: grape.variety }}
217
+ // @ts-expect-error
211
218
  state={{
212
219
  inventory: [
213
220
  { id: grape.id, quantity: grapeQuantity },
@@ -235,6 +242,7 @@ describe('WineRecipe', () => {
235
242
  render(
236
243
  <WineRecipeStub
237
244
  props={{ wineVariety: grape.variety }}
245
+ // @ts-expect-error
238
246
  state={{
239
247
  inventory: [
240
248
  { id: grape.id, quantity: grapeQuantity },
@@ -261,6 +269,7 @@ describe('WineRecipe', () => {
261
269
  render(
262
270
  <WineRecipeStub
263
271
  props={{ wineVariety: grape.variety }}
272
+ // @ts-expect-error
264
273
  state={{
265
274
  inventory: [
266
275
  { id: grape.id, quantity: grapeQuantity },
@@ -43,6 +43,7 @@ export const WineRecipe = ({ wineVariety }) => {
43
43
  const [quantity, setQuantity] = useState(1)
44
44
  const wineName = grapeVarietyNameMap[wineVariety]
45
45
  const grape = grapeVarietyToGrapeItemMap[wineVariety]
46
+ // @ts-expect-error
46
47
  const wine = itemsMap[grape.wineId]
47
48
  const { space: cellarSize } = PURCHASEABLE_CELLARS.get(purchasedCellar) ?? {
48
49
  space: 0,
@@ -99,7 +100,7 @@ export const WineRecipe = ({ wineVariety }) => {
99
100
  subheader={
100
101
  <>
101
102
  <p>
102
- Days to mature: {/* @ts-expect-error */}
103
+ Days to mature:{' '}
103
104
  {integerString(wineService.getDaysToMature(wineVariety))}
104
105
  </p>
105
106
  <p>
@@ -22,6 +22,7 @@ export const WineRecipeList = () => {
22
22
  const [searchQuery, setSearchQuery] = useState('')
23
23
 
24
24
  const filteredWineVarieties = wineVarietiesAvailableToMake.filter(
25
+ // @ts-expect-error
25
26
  wineVariety => wineVariety.toLowerCase().includes(searchQuery.toLowerCase())
26
27
  )
27
28
 
@@ -40,6 +40,7 @@ export function ForgeTabPanel({
40
40
  <h4>Tool Upgrades</h4>
41
41
  </li>
42
42
  {upgradesAvailable.map(upgrade => (
43
+ // @ts-expect-error
43
44
  <li key={upgrade.id}>
44
45
  <UpgradePurchase upgrade={upgrade} />
45
46
  </li>
@@ -67,11 +67,11 @@ describe('<Workshop />', () => {
67
67
  }
68
68
  })
69
69
 
70
- const renderWorkshop = gameState => {
70
+ const renderWorkshop = gameStateParam => {
71
71
  render(
72
72
  <FarmhandContext.Provider
73
73
  value={{
74
- gameState,
74
+ gameState: gameStateParam,
75
75
  // @ts-expect-error
76
76
  handlers: {},
77
77
  }}
@@ -25,6 +25,7 @@ describe('getUpgradesAvailable', () => {
25
25
  const availableUpgrades = getUpgradesAvailable({
26
26
  toolLevels,
27
27
  learnedForgeRecipes,
28
+ // @ts-expect-error
28
29
  }).map(item => item.id)
29
30
 
30
31
  expect(availableUpgrades).toEqual(['hoe-bronze', 'scythe-bronze'])
@@ -18,6 +18,7 @@ export function getUpgradesAvailable({ learnedForgeRecipes, toolLevels }) {
18
18
  const nextLevelUpgrade = toolUpgrades[type][upgrade.nextLevel]
19
19
  let allIngredientsUnlocked = true
20
20
 
21
+ // @ts-expect-error
21
22
  for (let ingredient of Object.keys(nextLevelUpgrade.ingredients)) {
22
23
  allIngredientsUnlocked =
23
24
  allIngredientsUnlocked &&
@@ -27,6 +28,7 @@ export function getUpgradesAvailable({ learnedForgeRecipes, toolLevels }) {
27
28
  }
28
29
 
29
30
  if (allIngredientsUnlocked) {
31
+ // @ts-expect-error
30
32
  upgradesAvailable.push(nextLevelUpgrade)
31
33
  }
32
34
  }
@@ -59,9 +59,9 @@ export const PURCHASABLE_FOREST_SIZES = freeze(
59
59
  ])
60
60
  )
61
61
 
62
- export const LARGEST_PURCHASABLE_FIELD_SIZE = /** @type {farmhand.purchaseableFieldSize} */ (PURCHASEABLE_FIELD_SIZES.get(
62
+ export const LARGEST_PURCHASABLE_FIELD_SIZE = /** @type {farmhand.purchaseableFieldSize} */ PURCHASEABLE_FIELD_SIZES.get(
63
63
  PURCHASEABLE_FIELD_SIZES.size
64
- ))
64
+ )
65
65
 
66
66
  export const PURCHASEABLE_COMBINES = freeze(
67
67
  new Map([[1, { type: 'Basic', price: 250_000 }]])
@@ -80,7 +80,8 @@ describe.each(iAmRichVariants)(
80
80
  test(`is not achieved when revenue is less than ${goal}`, () => {
81
81
  const achievement = achievementsMap[id]
82
82
  const state = {
83
- revenue: /** @type {number} */ (goal) - 1,
83
+ // @ts-expect-error
84
+ revenue: /** @type {number} */ goal - 1,
84
85
  }
85
86
 
86
87
  expect(achievement.condition(state)).toEqual(false)
@@ -28,8 +28,10 @@ const addMoney = (state, reward) => ({
28
28
  money: moneyTotal(state.money, reward),
29
29
  })
30
30
 
31
+ // @ts-expect-error
31
32
  const sumOfCropsHarvested = memoize(cropsHarvested =>
32
33
  Object.values(cropsHarvested).reduce(
34
+ // @ts-expect-error
33
35
  (sum, cropHarvested) => sum + cropHarvested,
34
36
  0
35
37
  )
@@ -133,9 +135,11 @@ const achievements = [
133
135
  id: 'play-during-october',
134
136
  name: 'Halloween Harvest',
135
137
  description: 'Play Farmhand in October and get the gift of the season.',
138
+ // @ts-expect-error
136
139
  rewardDescription: `${reward} units of ${itemsMap.jackolantern.name}`,
137
140
  condition: () => isOctober(),
138
141
  reward: state =>
142
+ // @ts-expect-error
139
143
  addItemToInventory(state, itemsMap.jackolantern, reward, true),
140
144
  }))(),
141
145
 
@@ -143,11 +147,14 @@ const achievements = [
143
147
  id: 'sell-10000-jack-o-lanterns',
144
148
  name: 'Spooky Pumpkin Patch',
145
149
  description: `Sell ${integerString(goal)} units of ${
150
+ // @ts-expect-error
146
151
  itemsMap.jackolantern.name
147
152
  }. That's enough to fill a whole pumpkin patch!`,
153
+ // @ts-expect-error
148
154
  rewardDescription: `${reward} units of ${itemsMap.scarecrow.name}`,
149
155
  condition: state => (state.itemsSold.jackolantern || 0) >= goal,
150
156
  reward: state =>
157
+ // @ts-expect-error
151
158
  addItemToInventory(state, itemsMap.scarecrow, reward, true),
152
159
  }))(),
153
160
 
@@ -155,6 +162,7 @@ const achievements = [
155
162
  id: 'daily-profit-1',
156
163
  name: `Daily profit: ${dollarString(goal)}`,
157
164
  description: `Earn ${dollarString(goal)} of profit in a single day.`,
165
+ // @ts-expect-error
158
166
  rewardDescription: `${reward} units of ${itemsMap.fertilizer.name}`,
159
167
  condition: state =>
160
168
  getProfitRecord(
@@ -163,6 +171,7 @@ const achievements = [
163
171
  state.todaysLosses
164
172
  ) >= goal,
165
173
  reward: state =>
174
+ // @ts-expect-error
166
175
  addItemToInventory(state, itemsMap.fertilizer, reward, true),
167
176
  }))(),
168
177
 
@@ -18,7 +18,7 @@ export const crop = ({
18
18
  ...rest
19
19
  }) =>
20
20
  freeze(
21
- /** @type {farmhand.item} */ ({
21
+ /** @type {farmhand.item} */ {
22
22
  id,
23
23
  name,
24
24
  cropTimeline,
@@ -32,7 +32,7 @@ export const crop = ({
32
32
  isPlantableCrop: true,
33
33
  }),
34
34
  ...rest,
35
- })
35
+ }
36
36
  )
37
37
 
38
38
  /**
@@ -48,7 +48,7 @@ export const fromSeed = (
48
48
  ) => {
49
49
  const variants = Array.isArray(growsInto) ? growsInto : [growsInto]
50
50
 
51
- return /** @type {farmhand.item} */ ({
51
+ return /** @type {farmhand.item} */ {
52
52
  id: variants[variantIdx] || '',
53
53
  cropTimeline,
54
54
  cropType,
@@ -58,7 +58,7 @@ export const fromSeed = (
58
58
  ...(canBeFermented && {
59
59
  daysToFerment: getCropLifecycleDuration({ cropTimeline }) * tier,
60
60
  }),
61
- })
61
+ }
62
62
  }
63
63
 
64
64
  /**
@@ -71,5 +71,6 @@ export const cropVariety = ({
71
71
  variety,
72
72
  ...cropVarietyProperties
73
73
  }) => {
74
+ // @ts-expect-error
74
75
  return { imageId, cropFamily, variety, ...crop({ ...cropVarietyProperties }) }
75
76
  }
@@ -18,7 +18,9 @@ export const asparagusSeed = crop({
18
18
  * @property farmhand.module:items.asparagus
19
19
  * @type {farmhand.item}
20
20
  */
21
+ // @ts-expect-error
21
22
  export const asparagus = crop({
23
+ // @ts-expect-error
22
24
  ...fromSeed(asparagusSeed, {
23
25
  canBeFermented: true,
24
26
  }),
@@ -16,7 +16,9 @@ export const carrotSeed = crop({
16
16
  /**
17
17
  * @type {farmhand.item}
18
18
  */
19
+ // @ts-expect-error
19
20
  export const carrot = crop({
21
+ // @ts-expect-error
20
22
  ...fromSeed(carrotSeed, {
21
23
  canBeFermented: true,
22
24
  }),
@@ -18,7 +18,9 @@ export const cornSeed = crop({
18
18
  * @property farmhand.module:items.corn
19
19
  * @type {farmhand.item}
20
20
  */
21
+ // @ts-expect-error
21
22
  export const corn = crop({
23
+ // @ts-expect-error
22
24
  ...fromSeed(cornSeed, {
23
25
  canBeFermented: true,
24
26
  }),
@@ -18,7 +18,9 @@ export const garlicSeed = crop({
18
18
  * @property farmhand.module:items.garlic
19
19
  * @type {farmhand.item}
20
20
  */
21
+ // @ts-expect-error
21
22
  export const garlic = crop({
23
+ // @ts-expect-error
22
24
  ...fromSeed(garlicSeed, {
23
25
  canBeFermented: true,
24
26
  }),
@@ -17,7 +17,7 @@ const grape = grapeProps => {
17
17
  const newGrape = {
18
18
  ...cropVariety({
19
19
  ...grapeProps,
20
- cropFamily: /** @type {'GRAPE'} */ (cropFamily.GRAPE),
20
+ cropFamily: /** @type {'GRAPE'} */ cropFamily.GRAPE,
21
21
  }),
22
22
  }
23
23
 
@@ -90,12 +90,13 @@ export const wineVarietyValueMap = {
90
90
  * @type {farmhand.grape}
91
91
  */
92
92
  export const grapeChardonnay = grape({
93
+ // @ts-expect-error
93
94
  ...fromSeed(grapeSeed, {
94
95
  variantIdx: grapeSeed.growsInto?.indexOf('grape-chardonnay'),
95
96
  }),
96
97
  name: 'Chardonnay Grape',
97
98
  imageId: 'grape-green',
98
- variety: /** @type {'CHARDONNAY'} */ (grapeVariety.CHARDONNAY),
99
+ variety: /** @type {'CHARDONNAY'} */ grapeVariety.CHARDONNAY,
99
100
  wineId: 'wine-chardonnay',
100
101
  })
101
102
 
@@ -104,12 +105,13 @@ export const grapeChardonnay = grape({
104
105
  * @type {farmhand.grape}
105
106
  */
106
107
  export const grapeSauvignonBlanc = grape({
108
+ // @ts-expect-error
107
109
  ...fromSeed(grapeSeed, {
108
110
  variantIdx: grapeSeed.growsInto?.indexOf('grape-sauvignon-blanc'),
109
111
  }),
110
112
  name: 'Sauvignon Blanc Grape',
111
113
  imageId: 'grape-green',
112
- variety: /** @type {'SAUVIGNON_BLANC'} */ (grapeVariety.SAUVIGNON_BLANC),
114
+ variety: /** @type {'SAUVIGNON_BLANC'} */ grapeVariety.SAUVIGNON_BLANC,
113
115
  wineId: 'wine-sauvignon-blanc',
114
116
  })
115
117
 
@@ -166,13 +168,13 @@ export const grapeSauvignonBlanc = grape({
166
168
  * @type {farmhand.grape}
167
169
  */
168
170
  export const grapeCabernetSauvignon = grape({
171
+ // @ts-expect-error
169
172
  ...fromSeed(grapeSeed, {
170
173
  variantIdx: grapeSeed.growsInto?.indexOf('grape-cabernet-sauvignon'),
171
174
  }),
172
175
  name: 'Cabernet Sauvignon Grape',
173
176
  imageId: 'grape-purple',
174
- variety:
175
- /** @type {'CABERNET_SAUVIGNON'} */ (grapeVariety.CABERNET_SAUVIGNON),
177
+ variety: /** @type {'CABERNET_SAUVIGNON'} */ grapeVariety.CABERNET_SAUVIGNON,
176
178
  wineId: 'wine-cabernet-sauvignon',
177
179
  })
178
180
 
@@ -193,12 +195,13 @@ export const grapeCabernetSauvignon = grape({
193
195
  * @type {farmhand.grape}
194
196
  */
195
197
  export const grapeTempranillo = grape({
198
+ // @ts-expect-error
196
199
  ...fromSeed(grapeSeed, {
197
200
  variantIdx: grapeSeed.growsInto?.indexOf('grape-tempranillo'),
198
201
  }),
199
202
  name: 'Tempranillo Grape',
200
203
  imageId: 'grape-purple',
201
- variety: /** @type {'TEMPRANILLO'} */ (grapeVariety.TEMPRANILLO),
204
+ variety: /** @type {'TEMPRANILLO'} */ grapeVariety.TEMPRANILLO,
202
205
  wineId: 'wine-tempranillo',
203
206
  })
204
207
 
@@ -207,12 +210,13 @@ export const grapeTempranillo = grape({
207
210
  * @type {farmhand.grape}
208
211
  */
209
212
  export const grapeNebbiolo = grape({
213
+ // @ts-expect-error
210
214
  ...fromSeed(grapeSeed, {
211
215
  variantIdx: grapeSeed.growsInto?.indexOf('grape-nebbiolo'),
212
216
  }),
213
217
  name: 'Nebbiolo Grape',
214
218
  imageId: 'grape-purple',
215
- variety: /** @type {'NEBBIOLO'} */ (grapeVariety.NEBBIOLO),
219
+ variety: /** @type {'NEBBIOLO'} */ grapeVariety.NEBBIOLO,
216
220
  wineId: 'wine-nebbiolo',
217
221
  })
218
222
 
@@ -18,7 +18,9 @@ export const jalapenoSeed = crop({
18
18
  * @property farmhand.module:items.jalapeno
19
19
  * @type {farmhand.item}
20
20
  */
21
+ // @ts-expect-error
21
22
  export const jalapeno = crop({
23
+ // @ts-expect-error
22
24
  ...fromSeed(jalapenoSeed, {
23
25
  canBeFermented: true,
24
26
  }),
@@ -18,7 +18,9 @@ export const oliveSeed = crop({
18
18
  * @property farmhand.module:items.olive
19
19
  * @type {farmhand.item}
20
20
  */
21
+ // @ts-expect-error
21
22
  export const olive = crop({
23
+ // @ts-expect-error
22
24
  ...fromSeed(oliveSeed, {
23
25
  canBeFermented: true,
24
26
  }),
@@ -18,7 +18,9 @@ export const onionSeed = crop({
18
18
  * @property farmhand.module:items.onion
19
19
  * @type {farmhand.item}
20
20
  */
21
+ // @ts-expect-error
21
22
  export const onion = crop({
23
+ // @ts-expect-error
22
24
  ...fromSeed(onionSeed, {
23
25
  canBeFermented: true,
24
26
  }),
@@ -18,7 +18,9 @@ export const peaSeed = crop({
18
18
  * @property farmhand.module:items.pea
19
19
  * @type {farmhand.item}
20
20
  */
21
+ // @ts-expect-error
21
22
  export const pea = crop({
23
+ // @ts-expect-error
22
24
  ...fromSeed(peaSeed, {
23
25
  canBeFermented: true,
24
26
  }),
@@ -18,7 +18,9 @@ export const potatoSeed = crop({
18
18
  * @property farmhand.module:items.potato
19
19
  * @type {farmhand.item}
20
20
  */
21
+ // @ts-expect-error
21
22
  export const potato = crop({
23
+ // @ts-expect-error
22
24
  ...fromSeed(potatoSeed, {
23
25
  canBeFermented: true,
24
26
  }),
@@ -18,7 +18,9 @@ export const pumpkinSeed = crop({
18
18
  * @property farmhand.module:items.pumpkin
19
19
  * @type {farmhand.item}
20
20
  */
21
+ // @ts-expect-error
21
22
  export const pumpkin = crop({
23
+ // @ts-expect-error
22
24
  ...fromSeed(pumpkinSeed, {
23
25
  canBeFermented: true,
24
26
  }),
@@ -18,7 +18,9 @@ export const soybeanSeed = crop({
18
18
  * @property farmhand.module:items.soybean
19
19
  * @type {farmhand.item}
20
20
  */
21
+ // @ts-expect-error
21
22
  export const soybean = crop({
23
+ // @ts-expect-error
22
24
  ...fromSeed(soybeanSeed, {
23
25
  canBeFermented: true,
24
26
  }),
@@ -18,7 +18,9 @@ export const spinachSeed = crop({
18
18
  * @property farmhand.module:items.spinach
19
19
  * @type {farmhand.item}
20
20
  */
21
+ // @ts-expect-error
21
22
  export const spinach = crop({
23
+ // @ts-expect-error
22
24
  ...fromSeed(spinachSeed, {
23
25
  canBeFermented: true,
24
26
  }),
@@ -18,7 +18,9 @@ export const strawberrySeed = crop({
18
18
  * @property farmhand.module:items.strawberry
19
19
  * @type {farmhand.item}
20
20
  */
21
+ // @ts-expect-error
21
22
  export const strawberry = crop({
23
+ // @ts-expect-error
22
24
  ...fromSeed(strawberrySeed),
23
25
  name: 'Strawberry',
24
26
  })
@@ -18,7 +18,9 @@ export const sunflowerSeed = crop({
18
18
  * @property farmhand.module:items.sunflower
19
19
  * @type {farmhand.item}
20
20
  */
21
+ // @ts-expect-error
21
22
  export const sunflower = crop({
23
+ // @ts-expect-error
22
24
  ...fromSeed(sunflowerSeed, {
23
25
  canBeFermented: true,
24
26
  }),
@@ -18,7 +18,9 @@ export const sweetPotatoSeed = crop({
18
18
  * @property farmhand.module:items.sweetPotato
19
19
  * @type {farmhand.item}
20
20
  */
21
+ // @ts-expect-error
21
22
  export const sweetPotato = crop({
23
+ // @ts-expect-error
22
24
  ...fromSeed(sweetPotatoSeed, {
23
25
  canBeFermented: true,
24
26
  }),
@@ -18,7 +18,9 @@ export const tomatoSeed = crop({
18
18
  * @property farmhand.module:items.tomato
19
19
  * @type {farmhand.item}
20
20
  */
21
+ // @ts-expect-error
21
22
  export const tomato = crop({
23
+ // @ts-expect-error
22
24
  ...fromSeed(tomatoSeed, {
23
25
  canBeFermented: true,
24
26
  }),
@@ -18,7 +18,9 @@ export const watermelonSeed = crop({
18
18
  * @property farmhand.module:items.watermelon
19
19
  * @type {farmhand.item}
20
20
  */
21
+ // @ts-expect-error
21
22
  export const watermelon = crop({
23
+ // @ts-expect-error
22
24
  ...fromSeed(watermelonSeed),
23
25
  name: 'Watermelon',
24
26
  })
@@ -18,7 +18,9 @@ export const wheatSeed = crop({
18
18
  * @property farmhand.module:items.wheat
19
19
  * @type {farmhand.item}
20
20
  */
21
+ // @ts-expect-error
21
22
  export const wheat = crop({
23
+ // @ts-expect-error
22
24
  ...fromSeed(wheatSeed),
23
25
  name: 'Wheat',
24
26
  })
@@ -108,7 +108,7 @@ export const rainbowFertilizer = freeze({
108
108
  enablesFieldMode: fieldMode.FERTILIZE,
109
109
  id: 'rainbow-fertilizer',
110
110
  name: 'Rainbow Fertilizer',
111
- type: /** @type {farmhand.itemType} */ (FERTILIZER),
111
+ type: /** @type {farmhand.itemType} */ FERTILIZER,
112
112
  // Rainbow Fertilizer is worth less than regular Fertilizer because it is not
113
113
  // sold in the shop. Items that are sold in the shop have automatically
114
114
  // reduced resale value, but since that would not apply to Rainbow
@@ -129,7 +129,7 @@ export const sprinkler = freeze({
129
129
  id: 'sprinkler',
130
130
  isReplantable: true,
131
131
  name: 'Sprinkler',
132
- type: /** @type {farmhand.itemType} */ (SPRINKLER),
132
+ type: /** @type {farmhand.itemType} */ SPRINKLER,
133
133
  value: 120,
134
134
  })
135
135
 
@@ -148,7 +148,7 @@ export const scarecrow = freeze({
148
148
  id: 'scarecrow',
149
149
  isReplantable: true,
150
150
  name: 'Scarecrow',
151
- type: /** @type {farmhand.itemType} */ (SCARECROW),
151
+ type: /** @type {farmhand.itemType} */ SCARECROW,
152
152
  value: 160,
153
153
  })
154
154
 
@@ -167,7 +167,7 @@ export const cowFeed = freeze({
167
167
  description:
168
168
  'Each cow automatically consumes one unit of Cow Feed per day. Fed cows gain and maintain weight.',
169
169
  name: 'Cow Feed',
170
- type: /** @type {farmhand.itemType} */ (COW_FEED),
170
+ type: /** @type {farmhand.itemType} */ COW_FEED,
171
171
  value: 5,
172
172
  })
173
173
 
@@ -179,7 +179,7 @@ export const huggingMachine = freeze({
179
179
  id: HUGGING_MACHINE_ITEM_ID,
180
180
  description: 'Automatically hugs one cow three times every day.',
181
181
  name: 'Hugging Machine',
182
- type: /** @type {farmhand.itemType} */ (HUGGING_MACHINE),
182
+ type: /** @type {farmhand.itemType} */ HUGGING_MACHINE,
183
183
  value: 500,
184
184
  })
185
185
 
@@ -190,7 +190,7 @@ export const huggingMachine = freeze({
190
190
  export const milk1 = freeze({
191
191
  id: 'milk-1',
192
192
  name: 'Grade C Milk',
193
- type: /** @type {farmhand.itemType} */ (MILK),
193
+ type: /** @type {farmhand.itemType} */ MILK,
194
194
  value: 40,
195
195
  })
196
196
 
@@ -201,7 +201,7 @@ export const milk1 = freeze({
201
201
  export const milk2 = freeze({
202
202
  id: 'milk-2',
203
203
  name: 'Grade B Milk',
204
- type: /** @type {farmhand.itemType} */ (MILK),
204
+ type: /** @type {farmhand.itemType} */ MILK,
205
205
  value: 80,
206
206
  })
207
207
 
@@ -212,7 +212,7 @@ export const milk2 = freeze({
212
212
  export const milk3 = freeze({
213
213
  id: 'milk-3',
214
214
  name: 'Grade A Milk',
215
- type: /** @type {farmhand.itemType} */ (MILK),
215
+ type: /** @type {farmhand.itemType} */ MILK,
216
216
  value: 120,
217
217
  })
218
218
 
@@ -223,7 +223,7 @@ export const milk3 = freeze({
223
223
  export const rainbowMilk1 = freeze({
224
224
  id: 'rainbow-milk-1',
225
225
  name: 'Grade C Rainbow Milk',
226
- type: /** @type {farmhand.itemType} */ (MILK),
226
+ type: /** @type {farmhand.itemType} */ MILK,
227
227
  value: 60,
228
228
  })
229
229
 
@@ -234,7 +234,7 @@ export const rainbowMilk1 = freeze({
234
234
  export const rainbowMilk2 = freeze({
235
235
  id: 'rainbow-milk-2',
236
236
  name: 'Grade B Rainbow Milk',
237
- type: /** @type {farmhand.itemType} */ (MILK),
237
+ type: /** @type {farmhand.itemType} */ MILK,
238
238
  value: 120,
239
239
  })
240
240
 
@@ -245,7 +245,7 @@ export const rainbowMilk2 = freeze({
245
245
  export const rainbowMilk3 = freeze({
246
246
  id: 'rainbow-milk-3',
247
247
  name: 'Grade A Rainbow Milk',
248
- type: /** @type {farmhand.itemType} */ (MILK),
248
+ type: /** @type {farmhand.itemType} */ MILK,
249
249
  value: 180,
250
250
  })
251
251
 
@@ -256,6 +256,6 @@ export const rainbowMilk3 = freeze({
256
256
  export const chocolateMilk = freeze({
257
257
  id: 'chocolate-milk',
258
258
  name: 'Chocolate Milk',
259
- type: /** @type {farmhand.itemType} */ (MILK),
259
+ type: /** @type {farmhand.itemType} */ MILK,
260
260
  value: 80,
261
261
  })