/* Eval css. */ _('toStr each filter'); var styleList = [], scale = 1; function exports(css) { css = toStr(css); for (var i = 0, len = styleList.length; i < len; i++) { if (styleList[i].css === css) return; } let container = exports.container || document.head, el = document.createElement('style'); el.type = 'text/css'; container.appendChild(el); let style = { css, el, container }; resetStyle(style); styleList.push(style); return style; } exports.setScale = function(s) { scale = s; each(styleList, style => resetStyle(style)); }; exports.clear = function() { each(styleList, ({ container, el }) => container.removeChild(el)); styleList = []; }; exports.remove = function(style) { styleList = filter(styleList, s => s !== style); style.container.removeChild(style.el); }; function resetStyle({ css, el }) { el.innerText = css.replace(/(\d+)px/g, ($0, $1) => +$1 * scale + 'px'); }