You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1006 B
34 lines
1006 B
var SUPPORTED_COMPACT_BLOCK_MATCHER = /^@media\W/; |
|
var SUPPORTED_QUOTE_REMOVAL_MATCHER = /^@(?:keyframes|-moz-keyframes|-o-keyframes|-webkit-keyframes)\W/; |
|
|
|
function tidyBlock(values, spaceAfterClosingBrace) { |
|
var withoutSpaceAfterClosingBrace; |
|
var withoutQuotes; |
|
var i; |
|
|
|
for (i = values.length - 1; i >= 0; i--) { |
|
withoutSpaceAfterClosingBrace = !spaceAfterClosingBrace && SUPPORTED_COMPACT_BLOCK_MATCHER.test(values[i][1]); |
|
withoutQuotes = SUPPORTED_QUOTE_REMOVAL_MATCHER.test(values[i][1]); |
|
|
|
values[i][1] = values[i][1] |
|
.replace(/\n|\r\n/g, ' ') |
|
.replace(/\s+/g, ' ') |
|
.replace(/(,|:|\() /g, '$1') |
|
.replace(/ \)/g, ')'); |
|
|
|
if (withoutQuotes) { |
|
values[i][1] = values[i][1] |
|
.replace(/'([a-zA-Z][a-zA-Z\d\-_]+)'/, '$1') |
|
.replace(/"([a-zA-Z][a-zA-Z\d\-_]+)"/, '$1'); |
|
} |
|
|
|
if (withoutSpaceAfterClosingBrace) { |
|
values[i][1] = values[i][1] |
|
.replace(/\) /g, ')'); |
|
} |
|
} |
|
|
|
return values; |
|
} |
|
|
|
module.exports = tidyBlock;
|
|
|