12345678910111213141516171819202122232425262728293031323334 |
- 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;
|