JSFiddle - React, Tailwind, and code Playground

by Frank Liu

JavaScript

const isItemZeroCost = item => !(item?.cost?.oneOff?.price);

const isItemZeroCost3 = item => {
  const { main, fractional } = item?.cost?.oneOff?.price || {};
  return !(main || fractional);
};

const costs = [
{},
  {
    cost: {}
  },
  {cost:{oneOff:{price:{}}}},
  {cost: {oneOff:{price:{main:0, fractional:0}}}},
  {cost: {oneOff:{price:{main:0, fractional:1}}}},
  {cost: {oneOff:{price:{main:1, fractional:0}}}},
]

costs.forEach(cost=>{
	console.log('isItemZeroCost? ', isItemZeroCost(cost))
})


const fun1 = ()=>{
  const oneOffItems = oneOffBasketItems?.items?.filter(
    item => !isUndiscountedZeroCost(item) && !isHiddenItem(item)
  );
  const monthlyItems = monthly?.items?.filter(item => !isHiddenItem(item));
  
 return {oneOffItems, monthlyItems}
}