1 line
1.6 KiB
JavaScript
1 line
1.6 KiB
JavaScript
|
|
String.prototype.has=function(f){return-1<this.indexOf(f)};function jsmin(f,h){function g(a){return-1!=a&&("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_$\\".has(a)||126<a.charCodeAt(0))}function d(){var a=k;if(d.i==d.l)return-1;k=-1;-1==a&&(a=f.charAt(d.i),++d.i);return" "<=a||"\n"==a?a:"\r"==a?"\n":" "}function l(){return k=d()}function m(){var a=d();if("/"==a)switch(l()){case "/":for(;;)if(a=d(),"\n">=a)return a;case "*":for(d();;)switch(d()){case "*":if("/"==l())return d()," ";break;case -1:throw"Error: Unterminated comment.";}}return a}function c(a){var c=[];1==a&&c.push(b);if(3>a&&(b=e,"'"==b||'"'==b))for(;;){c.push(b);b=d();if(b==e)break;if("\n">=b)throw"Error: unterminated string literal: "+b;"\\"==b&&(c.push(b),b=d())}e=m();if("/"==e&&"(,\x3d:[!\x26|".has(b)){c.push(b);for(c.push(e);;){b=d();if("/"==b)break;else if("\\"==b)c.push(b),b=d();else if("\n">=b)throw"Error: unterminated Regular Expression literal";c.push(b)}e=m()}return c.join("")}var b="",e="",k=-1;d.i=0;d.l=f.length;return function(){var a=[];b="\n";for(a.push(c(3));-1!=b;)switch(b){case " ":g(e)?a.push(c(1)):a.push(c(2));break;case "\n":switch(e){case "{":case "[":case "(":case "+":case "-":a.push(c(1));break;case " ":a.push(c(3));break;default:g(e)?a.push(c(1)):1==h&&"\n"!=e?a.push(c(1)):a.push(c(2))}break;default:switch(e){case " ":if(g(b)){a.push(c(1));break}a.push(c(3));break;case "\n":if(1==h&&"\n"!=b)a.push(c(1));else switch(b){case "}":case "]":case ")":case "+":case "-":case '"':case "'":3==h?a.push(c(3)):a.push(c(1));break;default:g(b)?a.push(c(1)):a.push(c(3))}break;default:a.push(c(1))}}return a.join("")}(f)};
|