UNPKG

@jeremyckahn/farmhand

Version:
51 lines (41 loc) 1.34 kB
import { recipeType } from '../../enums.js' import * as actualMaps from '../maps.js' import * as items from './items.js' import * as recipes from './recipes.js' export const recipeCategories: Record< string, Record<string, farmhand.recipe> > = { [recipeType.KITCHEN]: {}, [recipeType.FORGE]: {}, [recipeType.RECYCLING]: {}, [recipeType.WINE]: {}, } export const recipesMap: Record<string, farmhand.recipe> = {} for (const recipeId of Object.keys(recipes)) { const recipe = (recipes as Record<string, farmhand.recipe>)[recipeId] // Only process objects that have recipe properties if (recipe && typeof recipe === 'object' && recipe.recipeType && recipe.id) { recipeCategories[recipe.recipeType][recipe.id] = recipe recipesMap[recipe.id] = recipe } } export const itemsMap = { ...Object.keys(items).reduce( (acc: Record<string, farmhand.item>, itemName) => { const item = (items as Record<string, farmhand.item>)[itemName] acc[item.id] = item return acc }, {} as Record<string, farmhand.item> ), ...recipesMap, // Ensure sample-recipe-1 is available for tests 'sample-recipe-1': recipes.sampleRecipe1, } export const cropTypeToIdMap = { SAMPLE_CROP_TYPE_1: 'sample-crop-type-1', } export const { cropItemIdToSeedItemMap, fermentableItemsMap } = { ...actualMaps, }