snakeskin
Advanced tools
Comparing version 2.3.6 to 2.3.7
@@ -7,3 +7,3 @@ #!/usr/bin/env node | ||
program | ||
.version('2.3.4') | ||
.version('2.3.7') | ||
.option('-s, --source [src]', 'source file') | ||
@@ -10,0 +10,0 @@ .option('-o, --output [src]', 'output file') |
{ | ||
"name": "snakeskin", | ||
"version": "2.3.6", | ||
"version": "2.3.7", | ||
"description": "Snakeskin — компилятор блочных шаблонов c поддержкой наследования.\r Независим от среды исполнения, для работы нужен лишь интерпретатор JavaScript.", | ||
@@ -5,0 +5,0 @@ "main": "snakeskin.js", |
@@ -6,3 +6,3 @@ /*! | ||
var Snakeskin = { | ||
VERSION: '2.3.5', | ||
VERSION: '2.3.7', | ||
@@ -9,0 +9,0 @@ Directions: {}, |
@@ -1,2 +0,2 @@ | ||
var Snakeskin={VERSION:"2.3.5",Directions:{},Filters:{},BEM:{},Vars:{},write:{},cache:{}}; | ||
var Snakeskin={VERSION:"2.3.7",Directions:{},Filters:{},BEM:{},Vars:{},write:{},cache:{}}; | ||
(function(g){function h(a){return k[a]}function l(a){return m[a]}Snakeskin.forEach=function(a,c,e){var b=-1,d;if(Array.isArray(a))for(d=a.length;++b<d;)if(e){if(!1===c.call(e,a[b],b,0===b,b===d-1,d))break}else{if(!1===c(a[b],b,0===b,b===d-1,d))break}else{var b=0,f;for(f in a)a.hasOwnProperty(f)&&b++;d=b;b=-1;for(f in a)if(a.hasOwnProperty(f))if(b++,e){if(!1===c.call(e,a[f],f,b,0===b,b===d-1,d))break}else if(!1===c(a[f],f,b,0===b,b===d-1,d))break}};var k={"&":"&","<":"<",">":">",'"':""", | ||
@@ -3,0 +3,0 @@ "'":"'","/":"/"},n=/[&<>"'\/]/g;Snakeskin.Filters.html=function(a){return(a+"").replace(n,h)};Snakeskin.Filters.undef=function(a){return"undefined"!==typeof a?a:""};var m={"&":"&","<":"<",">":">",""":'"',"'":"'","/":"/"},p=/&|<|>|"|'|//g;Snakeskin.Filters.uhtml=function(a){return(a+"").replace(p,l)};var q=/<\/?[^>]+>/g;Snakeskin.Filters.stripTags=function(a){return(a+"").replace(q,"")};var r=/%5B/g,s=/%5D/g;Snakeskin.Filters.uri=function(a){return encodeURI(a+ |
@@ -1,2 +0,2 @@ | ||
var Snakeskin={VERSION:"2.3.5",Directions:{},Filters:{},BEM:{},Vars:{},write:{},cache:{}}; | ||
var Snakeskin={VERSION:"2.3.7",Directions:{},Filters:{},BEM:{},Vars:{},write:{},cache:{}}; | ||
(function(G){function M(b){return N[b]}function O(b){return P[b]}function n(b,c,a){var d=this.prototype,e;for(e in d)d.hasOwnProperty(e)&&d[e].init&&(this[e]=d[e].init());this.canWrite=!0;this.i=-1;this.openBlockI=0;this.posCache={};this.sysPosCache={};this.quotContent=[];var f=this.cDataContent=[];this.source=String(b).replace(/{cdata}([\s\S]*?){(?:\/cdata|end cdata)}/gm,function(a,b){f.push(b);return"__SNAKESKIN_CDATA__"+(f.length-1)}).trim();this.res=(a?"":"/* This code is generated automatically, don't alter it. */")+ | ||
@@ -42,5 +42,5 @@ (c?"var Snakeskin = global.Snakeskin;exports.liveInit = function (path) { Snakeskin = require(path);exec();return this;};function exec() {":"")}Array.isArray||(Array.isArray=function(b){return"[object Array]"===Object.prototype.toString.call(b)});String.prototype.trim||(String.prototype.trim=function(){for(var b=this.replace(/^\s\s*/,""),c=b.length;/\s/.test(b.charAt(--c)););return b.substring(0,c+1)});Snakeskin.forEach=function(b,c,a){var d=-1,e;if(Array.isArray(b))for(e=b.length;++d<e;)if(a){if(!1=== | ||
h=a.i,k=a.startI;if(f||g||!/^console\./.test(b))if(/^[@#$a-z_][$\w\[\].'"\s]*[^=]=[^=]/im.test(b)){var m=b.split("=")[0].trim(),l=m.charAt(0);if(e){if(!(d.dryRun||a.varCache[m]||"#"===l||"@"===l||(!f||a.hasPos("block")||a.hasPos("proto"))&&f)){if(u[e][m]||B[e][m])throw a.error('Constant "'+m+'" is already defined (command: {'+b+'}, template: "'+e+", "+a.genErrorAdvInfo(d.info)+'")!');if(W[m])throw a.error("Can't declare constant \""+m+'", try another name (command: {'+b+'}, template: "'+e+", "+a.genErrorAdvInfo(d.info)+ | ||
'")!');if(a.hasPos("forEach"))throw a.error('Constant "'+m+"\" can't be defined in a loop (command: {"+b+'}, template: "'+e+", "+a.genErrorAdvInfo(d.info)+'")!');u[e][m]={from:h-k-c,to:h-k};I[e]=h-k+1}f||g||(a.varCache[m]||"#"===l||"@"===l?a.save(a.prepareOutput(b+";",!0)):a.save(a.prepareOutput((/[.\[]/m.test(m)?"":"var ")+b+";",!0)))}else a.save("if (typeof Snakeskin !== 'undefined') { Snakeskin.Vars."+a.prepareOutput(b,!0,!0)+"; }")}else f||g||a.save("__SNAKESKIN_RESULT__ += "+a.prepareOutput(b)+ | ||
'")!');if(a.hasPos("forEach"))throw a.error('Constant "'+m+"\" can't be defined in a loop (command: {"+b+'}, template: "'+e+", "+a.genErrorAdvInfo(d.info)+'")!');u[e][m]={from:h-k-c,to:h-k};I[e]=h-k+1}f||g||(a.varCache[m]||"#"===l||"@"===l?a.save(a.prepareOutput(b+";",!0)):a.save(a.prepareOutput((/[.\[]/m.test(m)?"":"var ")+b+";",!0)))}else a.save("if (typeof Snakeskin !== 'undefined') { Snakeskin.Vars."+a.prepareOutput(b,!0,!0)+"; }")}else f||(g||!e)||a.save("__SNAKESKIN_RESULT__ += "+a.prepareOutput(b)+ | ||
";");else a.save(b+";")};Snakeskin.Directions.cut=function(b,c,a){b=a.pasteDangerBlocks(b);Snakeskin.write[b]||(Snakeskin.write[b]=!1)};Snakeskin.Directions.save=function(b,c,a){Snakeskin.write[a.pasteDangerBlocks(b)]=!0};Snakeskin.Directions.setBEM=function(b,c,a){b=b.match(/([\s\S]*?),\s+([\s\S]*)/m);Snakeskin.BEM[b[1]]=(new Function("return {"+a.pasteDangerBlocks(b[2])+"}"))()};Snakeskin.Directions.bem=function(b,c,a){a.pushPos("bem",{i:++a.openBlockI,tag:/^\(/.test(b)?/\(([\s\S]*?)\)/m.exec(b)[1]: | ||
null});c=a.getLastPos("bem");b=c.tag?b.replace(/^[\s\S]*?\)([\s\S]*)/m,"$1"):b;b=b.trim().split(",");var d=b[0];c.original=Snakeskin.BEM[d]&&Snakeskin.BEM[d].tag;a.parentTplName||a.protoStart||(b[0]+="'",b=b.join(","),a.save("__SNAKESKIN_RESULT__ += '<"+(c.tag||c.original||"div")+' class="i-block" data-params="{name: \\\''+a.replaceTplVars(b)+"}\">';"))};Snakeskin.Directions.bemEnd=function(b,c,a){b=a.popPos("bem");a.parentTplName||a.protoStart||a.save("__SNAKESKIN_RESULT__ += '</"+(b.tag||b.original|| | ||
"div")+">';")};Snakeskin.Directions.data=function(b,c,a){a.parentTplName||a.protoStart||a.save("__SNAKESKIN_RESULT__ += '"+a.replaceTplVars(b)+"';")};G&&(module.exports=Snakeskin)})("undefined"===typeof window); |
@@ -6,3 +6,3 @@ /*! | ||
var Snakeskin = { | ||
VERSION: '2.3.6', | ||
VERSION: '2.3.7', | ||
@@ -9,0 +9,0 @@ Directions: {}, |
@@ -101,5 +101,5 @@ /** | ||
// Вывод переменных | ||
} else if (!parentName && !protoStart) { | ||
} else if (!parentName && !protoStart && tplName) { | ||
dirObj.save('__SNAKESKIN_RESULT__ += ' + dirObj.prepareOutput(command) + ';'); | ||
} | ||
}; |
Sorry, the diff of this file is too big to display
6546909