@chordcommerce/analytics
Version:
Chord Commerce event tracking
22 lines (21 loc) • 620 B
JavaScript
export const pruneNullValues = (props) => {
if (typeof props !== 'object' || props === null)
return props;
if (!Array.isArray(props)) {
for (const key in props) {
if (props.hasOwnProperty(key)) {
props[key] = pruneNullValues(props[key]);
if (props[key] === null)
delete props[key];
}
}
}
else {
for (let i = 0; i < props.length; i++) {
props[i] = pruneNullValues(props[i]);
if (props[i] === null)
props.splice(i--, 1);
}
}
return props;
};