UNPKG

679 BJavaScriptView Raw
1'use strict';
2
3var postcss = require('postcss');
4
5function remove (callback) {
6 return function (node) {
7 callback.call(this, node) && node.removeSelf();
8 };
9}
10
11module.exports = postcss.plugin('postcss-discard-empty', function () {
12 return function (css) {
13 css.eachDecl(remove(function (decl) {
14 return !decl.value;
15 }));
16 css.eachRule(remove(function (rule) {
17 return !rule.selector.length || !rule.nodes.length;
18 }));
19 css.eachAtRule(remove(function (rule) {
20 if (rule.nodes) {
21 return !rule.nodes.length;
22 }
23 return !rule.params;
24 }));
25 };
26});