import { List } from 'css-tree'; export default function compressBackground(node) { function flush() { if (!buffer.length) { buffer.unshift( { type: 'Number', loc: null, value: '0' }, { type: 'Number', loc: null, value: '0' } ); } newValue.push.apply(newValue, buffer); buffer = []; } let newValue = []; let buffer = []; node.children.forEach((node) => { if (node.type === 'Operator' && node.value === ',') { flush(); newValue.push(node); return; } // remove defaults if (node.type === 'Identifier') { if (node.name === 'transparent' || node.name === 'none' || node.name === 'repeat' || node.name === 'scroll') { return; } } buffer.push(node); }); flush(); node.children = new List().fromArray(newValue); };