Spaces:
Configuration error
Configuration error
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); | |
}; | |