clean-css
Version:
A well-tested CSS minifier
31 lines (25 loc) • 750 B
JavaScript
module.exports = function EmptyRemoval(data) {
var stripEmpty = function(cssData) {
var tempData = [];
var nextEmpty = 0;
var cursor = 0;
for (; nextEmpty < cssData.length; ) {
nextEmpty = cssData.indexOf('{}', cursor);
if (nextEmpty == -1)
break;
var startsAt = nextEmpty - 1;
while (cssData[startsAt] && cssData[startsAt] != '}' && cssData[startsAt] != '{')
startsAt--;
tempData.push(cssData.substring(cursor, startsAt + 1));
cursor = nextEmpty + 2;
}
return tempData.length > 0 ?
stripEmpty(tempData.join('') + cssData.substring(cursor, cssData.length)) :
cssData;
};
return {
process: function() {
return stripEmpty(data);
}
};
};