@jeremyckahn/farmhand
Version:
A farming game
18 lines (15 loc) • 430 B
text/typescript
/**
* @typedef {farmhand.item} item
*/
import { memoize } from './memoize.js'
export const getInventoryQuantityMap = memoize(
/**
* @param {{ id: item['id'], quantity: number }[]} inventory
* @returns {Record<item['id'], number>}
*/
(inventory: { id: string; quantity: number }[]) =>
inventory.reduce((acc: Record<string, number>, { id, quantity }) => {
acc[id] = quantity
return acc
}, {})
)