| 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); | |
| } | |
| } | |
| }); | |
| }; |