MCPcopy Index your code
hub / github.com/Vectorized/Aris / autoFixCSS

Function autoFixCSS

aris.js:469–518  ·  view source on GitHub ↗
(css)

Source from the content-addressed store, hash-verified

467 })();
468
469 var autoFixCSS = function (css) {
470
471 var af, k, v, r = '', sc = 0, mSub, m, pf, k, af;
472 if (isObject(css)) {
473 af = {};
474 for (k in css) if (css.hasOwnProperty(k)) {
475 v = css[k];
476 k = trim(k);
477 if (typeof(v) == 'number' && !cssNumber[k]) {
478 v += 'px';
479 }
480 v = fixCSSFunctions(v);
481 if (!(cssProps[k])) {
482 for (pf in cssPrefixes) {
483 af[pf + k] = v;
484 }
485 }
486 af[k] = v;
487 }
488 return af;
489 }
490
491 css = css.replace(cssCommentRe, '');
492 // Yup, we parse it bracket to bracket!
493 while (m = cssBracketRe.exec(css)) {
494 var padding = '', prettify = 0, b = m[3], j;
495 if (prettify) for (j = sc; j--;) padding += '\t';
496 if (b == '{') {
497 r += (prettify ? '\n' + padding : '') + m[1] + (prettify ? ' ' : '') + b;
498 ++sc;
499 } else if (b == '}') {
500 if (prettify) padding = padding.substring(1);
501 af = {};
502 while (mSub = cssPropRe.exec(m[1])) {
503 if (!(cssProps[mSub[1]])) {
504 for (pf in cssPrefixes) {
505 af[pf + mSub[1]] = mSub[2];
506 }
507 }
508 af[mSub[1]] = mSub[2];
509 }
510 for (k in af) {
511 r += (prettify ? '\n' + padding + '\t' : '') + k + ':' + af[k] + ';';
512 }
513 r += (prettify ? '\n' + padding : '') + b + (prettify ? '\n' : '');
514 sc = sc > 0 ? sc - 1 : 0;
515 }
516 }
517 return fixCSSSelectors(fixCSSFunctions(r));
518 };
519
520 var loadedFiles = {};
521

Callers 2

loadFilesFunction · 0.85
HTMLFunction · 0.85

Calls 1

trimFunction · 0.85

Tested by

no test coverage detected