doT.min.js 2.63 KB
(function(){function o(){var e={"&":"&#38;","<":"&#60;",">":"&#62;",'"':"&#34;","'":"&#39;","/":"&#47;"},t=/&(?!#?\w+;)|<|>|"|'|\//g;return function(n){return n?n.toString().replace(t,function(t){return e[t]||t}):n}}function p(b,a,f){return(typeof a==="string"?a:a.toString()).replace(b.define||h,function(g,e,c,i){if(e.indexOf("def.")===0)e=e.substring(4);if(!(e in f))if(c===":")f[e]=i;else eval("def['"+e+"']="+i);return""}).replace(b.use||h,function(g,e){var c=eval(e);return c?p(b,c,f):c})}function l(e){return e.replace(/\\('|\\)/g,"$1").replace(/[\r\t\n]/g," ")}var j={version:"0.2.0",templateSettings:{evaluate:/\{\{([\s\S]+?)\}\}/g,interpolate:/\{\{=([\s\S]+?)\}\}/g,encode:/\{\{!([\s\S]+?)\}\}/g,use:/\{\{#([\s\S]+?)\}\}/g,define:/\{\{##\s*([\w\.$]+)\s*(\:|=)([\s\S]+?)#\}\}/g,conditional:/\{\{\?(\?)?\s*([\s\S]*?)\s*\}\}/g,iterate:/\{\{~\s*(?:\}\}|([\s\S]+?)\s*\:\s*([\w$]+)\s*(?:\:\s*([\w$]+))?\s*\}\})/g,varname:"it",strip:true,append:true,selfcontained:false},template:undefined,compile:undefined},m=function(){return this||(0,eval)("this")}();if(typeof module!=="undefined"&&module.exports)module.exports=j;else if(typeof define==="function"&&define.amd)define(function(){return j});else m.doT=j;m.encodeHTML=o();var q={append:{start:"'+(",end:")+'",startencode:"'+encodeHTML("},split:{start:"';out+=(",end:");out+='",startencode:"';out+=encodeHTML("}},h=/$^/;j.template=function(e,t,n){t=t||j.templateSettings;var r=t.append?q.append:q.split,a,i=0,u;if(t.use||t.define){var c=m.def;m.def=n||{};e=p(t,e,m.def);m.def=c}e=("var out='"+(t.strip?e.replace(/(^|\r|\n)\t* +| +\t*(\r|\n|$)/g," ").replace(/\r|\n|\t|\/\*[\s\S]*?\*\//g,""):e).replace(/'|\\/g,"\\$&").replace(t.interpolate||h,function(e,t){return r.start+l(t)+r.end}).replace(t.encode||h,function(e,t){a=true;return r.startencode+l(t)+r.end}).replace(t.conditional||h,function(e,t,n){return t?n?"';}else if("+l(n)+"){out+='":"';}else{out+='":n?"';if("+l(n)+"){out+='":"';}out+='"}).replace(t.iterate||h,function(e,t,n,r){if(!t)return"';} } out+='";i+=1;u=r||"i"+i;t=l(t);return"';var arr"+i+"="+t+";if(arr"+i+"){var "+n+","+u+"=-1,l"+i+"=arr"+i+".length-1;while("+u+"<l"+i+"){"+n+"=arr"+i+"["+u+"+=1];out+='"}).replace(t.evaluate||h,function(e,t){return"';"+l(t)+"out+='"})+"';return out;").replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/\r/g,"\\r").replace(/(\s|;|}|^|{)out\+='';/g,"$1").replace(/\+''/g,"").replace(/(\s|;|}|^|{)out\+=''\+/g,"$1out+=");if(a&&t.selfcontained)e="var encodeHTML=("+o.toString()+"());"+e;try{return new Function(t.varname,e)}catch(t){typeof console!=="undefined"&&console.log("Could not create a template function: "+e);throw t}};j.compile=function(e,t){return j.template(e,null,t)}})();