1234567891011121314151617181920212223242526272829303132333435363738 |
- /**
- * Expose `visit()`.
- */
- module.exports = visit;
- /**
- * Visit `node`'s declarations recursively and
- * invoke `fn(declarations, node)`.
- *
- * @param {Object} node
- * @param {Function} fn
- * @api private
- */
- function visit(node, fn){
- node.rules.forEach(function(rule){
- // @media etc
- if (rule.rules) {
- visit(rule, fn);
- return;
- }
- // keyframes
- if (rule.keyframes) {
- rule.keyframes.forEach(function(keyframe){
- fn(keyframe.declarations, rule);
- });
- return;
- }
- // @charset, @import etc
- if (!rule.declarations) return;
- fn(rule.declarations, node);
- });
- };
|