flst / upstream /emscripten /node_modules /clean-css /lib /optimizer /level-1 /value-optimizers /unit.js
| var WHOLE_PIXEL_VALUE = /(?:^|\s|\()(-?\d+)px/; | |
| var plugin = { | |
| level1: { | |
| value: function unit(_name, value, options) { | |
| if (!WHOLE_PIXEL_VALUE.test(value)) { | |
| return value; | |
| } | |
| return value.replace(WHOLE_PIXEL_VALUE, function(match, val) { | |
| var newValue; | |
| var intVal = parseInt(val); | |
| if (intVal === 0) { | |
| return match; | |
| } | |
| if (options.compatibility.properties.shorterLengthUnits | |
| && options.compatibility.units.pt | |
| && intVal * 3 % 4 === 0) { | |
| newValue = intVal * 3 / 4 + 'pt'; | |
| } | |
| if (options.compatibility.properties.shorterLengthUnits | |
| && options.compatibility.units.pc | |
| && intVal % 16 === 0) { | |
| newValue = intVal / 16 + 'pc'; | |
| } | |
| if (options.compatibility.properties.shorterLengthUnits | |
| && options.compatibility.units.in | |
| && intVal % 96 === 0) { | |
| newValue = intVal / 96 + 'in'; | |
| } | |
| if (newValue) { | |
| newValue = match.substring(0, match.indexOf(val)) + newValue; | |
| } | |
| return newValue && newValue.length < match.length ? newValue : match; | |
| }); | |
| } | |
| } | |
| }; | |
| module.exports = plugin; | |