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;