Cart Reducer
Medium · Discriminated Unions
Write cartReducer(cart: Cart, action: CartAction): Cart. A Cart maps item names to quantities. Switch on action.type:
- "add": increase the item quantity by qty (start from 0 if missing)
- "remove": delete the item completely (do nothing if missing)
- "clear": return an empty cart
Always return a new object. runCart is already written: it applies all actions starting from {}.
Next: Generic Stack Class