def visit_directive(node)
return node unless node.has_children
if parent.is_a?(Sass::Tree::RuleNode)
return node.normalized_name == '@keyframes' ? Bubble.new(node) : bubble(node)
end
yield
directive_exists = node.children.any? do |child|
next true unless child.is_a?(Bubble)
next false unless child.node.is_a?(Sass::Tree::DirectiveNode)
child.node.resolved_value == node.resolved_value
end
if directive_exists || node.name == '@keyframes'
[]
else
empty_node = node.dup
empty_node.children = []
[empty_node]
end + debubble(node.children, node)
end