universal-logger-browser
Version:
Browser plugins for universal logger.
58 lines (53 loc) • 1.42 kB
JavaScript
;
exports.__esModule = true;
var unitless = {
animationIterationCount: true,
boxFlex: true,
boxFlexGroup: true,
boxOrdinalGroup: true,
columnCount: true,
flex: true,
flexGrow: true,
flexPositive: true,
flexShrink: true,
flexNegative: true,
flexOrder: true,
gridRow: true,
gridColumn: true,
fontWeight: true,
lineClamp: true,
lineHeight: true,
opacity: true,
order: true,
orphans: true,
tabSize: true,
widows: true,
zIndex: true,
zoom: true,
// SVG properties
fillOpacity: true,
stopOpacity: true,
strokeDashoffset: true,
strokeOpacity: true,
strokeWidth: true
};
var normalizeVendorPrefix = function () {
var uppercasePattern = /[A-Z]/g;
var msPattern = /^ms-/;
return function (str) {
return str.replace(uppercasePattern, '-$&').toLowerCase().replace(msPattern, '-ms-');
};
}();
var normalizeStyleValue = function normalizeStyleValue(name, value) {
if (typeof value === 'number' && !unitless[name]) {
return value + 'px';
}
return value;
};
exports['default'] = function () {
var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return Object.keys(obj).map(function (key) {
var val = obj[key];
return normalizeVendorPrefix(key) + ':' + normalizeStyleValue(key, val) + ';';
}).join('');
};