| 'use strict'; |
| |
| const cssTree = require('css-tree'); |
| const Atrule = require('./Atrule.cjs'); |
| const AttributeSelector = require('./AttributeSelector.cjs'); |
| const Value = require('./Value.cjs'); |
| const Dimension = require('./Dimension.cjs'); |
| const Percentage = require('./Percentage.cjs'); |
| const _Number = require('./Number.cjs'); |
| const Url = require('./Url.cjs'); |
| const color = require('./color.cjs'); |
| |
| const handlers = { |
| Atrule, |
| AttributeSelector, |
| Value, |
| Dimension, |
| Percentage, |
| Number: _Number.Number, |
| Url, |
| Hash: color.compressHex, |
| Identifier: color.compressIdent, |
| Function: color.compressFunction |
| }; |
| |
| function replace(ast) { |
| cssTree.walk(ast, { |
| leave(node, item, list) { |
| if (handlers.hasOwnProperty(node.type)) { |
| handlers[node.type].call(this, node, item, list); |
| } |
| } |
| }); |
| } |
| |
| module.exports = replace; |