| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | 
							- var List = require('css-tree').List;
 
- module.exports = function compressBackground(node) {
 
-     function lastType() {
 
-         if (buffer.length) {
 
-             return buffer[buffer.length - 1].type;
 
-         }
 
-     }
 
-     function flush() {
 
-         if (lastType() === 'WhiteSpace') {
 
-             buffer.pop();
 
-         }
 
-         if (!buffer.length) {
 
-             buffer.unshift(
 
-                 {
 
-                     type: 'Number',
 
-                     loc: null,
 
-                     value: '0'
 
-                 },
 
-                 {
 
-                     type: 'WhiteSpace',
 
-                     value: ' '
 
-                 },
 
-                 {
 
-                     type: 'Number',
 
-                     loc: null,
 
-                     value: '0'
 
-                 }
 
-             );
 
-         }
 
-         newValue.push.apply(newValue, buffer);
 
-         buffer = [];
 
-     }
 
-     var newValue = [];
 
-     var buffer = [];
 
-     node.children.each(function(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;
 
-             }
 
-         }
 
-         // don't add redundant spaces
 
-         if (node.type === 'WhiteSpace' && (!buffer.length || lastType() === 'WhiteSpace')) {
 
-             return;
 
-         }
 
-         buffer.push(node);
 
-     });
 
-     flush();
 
-     node.children = new List().fromArray(newValue);
 
- };
 
 
  |