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}
}