import { walk } from 'css-tree'; import Atrule from './Atrule.js'; import AttributeSelector from './AttributeSelector.js'; import Value from './Value.js'; import Dimension from './Dimension.js'; import Percentage from './Percentage.js'; import { Number } from './Number.js'; import Url from './Url.js'; import { compressHex, compressIdent, compressFunction } from './color.js'; const handlers = { Atrule, AttributeSelector, Value, Dimension, Percentage, Number, Url, Hash: compressHex, Identifier: compressIdent, Function: compressFunction }; export default function(ast) { walk(ast, { leave(node, item, list) { if (handlers.hasOwnProperty(node.type)) { handlers[node.type].call(this, node, item, list); } } }); };