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