You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
665 B
29 lines
665 B
2 years ago
|
import { walk } from 'css-tree';
|
||
|
import Atrule from './Atrule.js';
|
||
|
import Comment from './Comment.js';
|
||
|
import Declaration from './Declaration.js';
|
||
|
import Raw from './Raw.js';
|
||
|
import Rule from './Rule.js';
|
||
|
import TypeSelector from './TypeSelector.js';
|
||
|
import WhiteSpace from './WhiteSpace.js';
|
||
|
|
||
|
const handlers = {
|
||
|
Atrule,
|
||
|
Comment,
|
||
|
Declaration,
|
||
|
Raw,
|
||
|
Rule,
|
||
|
TypeSelector,
|
||
|
WhiteSpace
|
||
|
};
|
||
|
|
||
|
export default function(ast, options) {
|
||
|
walk(ast, {
|
||
|
leave(node, item, list) {
|
||
|
if (handlers.hasOwnProperty(node.type)) {
|
||
|
handlers[node.type].call(this, node, item, list, options);
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
};
|