//@flow import { withProps } from "recompose"; import { setQuantity } from "../apis/QuantityApi"; import { emit as emitQuantity } from "../streams/QuantityStream"; import type { Quantity, QuantityResponse } from "../constants/QuantityConstants"; import { nth } from "ramda"; export const withUpdateQuantity = withProps({ updateQuantity: async ({ foodItemId, quantity }: { foodItemId: string, quantity: Quantity }) => { try { const newQuantity: QuantityResponse = nth(0, await setQuantity({ foodItemId, quantity })); emitQuantity(newQuantity); } catch (error) { // todo - error states in food item detail page console.error(error); // eslint-disable-line } } });