CartItem
The CartItem type represents the possible item types within a cart. In summary, its signature and the types used follow this contract:
type CartItem = CartAvailableItem | CartUnavailableItem;Here are the respective types for CartAvailableItem and CartUnavailableItem:
type CartAvailableItem = BaseCartItem & { status: 'available'; price: number;};
type CartUnavailableItem = BaseCartItem & { status: 'unavailable'; price?: number;};BaseCartItem
Both CartAvailableItem and CartUnavailableItem extend BaseCartItem, which has the following structure:
type BaseCartItem = { id: string; quantity: number; imageUrl: string; productUrl: string; offerings: Array<Offering>;};Offering
The Offering type is defined as:
type Offering = { type: string; name: string; id: string;};