From 8fbc9f78e2fd758eed410ebe6539f66ff0cf89ea Mon Sep 17 00:00:00 2001 From: Kabir Shah Date: Mon, 17 Jun 2019 14:55:40 -0700 Subject: [PATCH] clean up for element generator --- packages/moon/dist/moon.js | 22 ++++++++----------- packages/moon/dist/moon.min.js | 2 +- .../src/compiler/generator/components/for.js | 20 ++++++----------- 3 files changed, 17 insertions(+), 27 deletions(-) diff --git a/packages/moon/dist/moon.js b/packages/moon/dist/moon.js index a49ef7cf..ddad5fe1 100644 --- a/packages/moon/dist/moon.js +++ b/packages/moon/dist/moon.js @@ -838,10 +838,6 @@ value: "{}", isStatic: true }; - var dataArray = attributes.of; - var dataObject = attributes["in"]; - var dataKey; - var dataValue; var prelude; var generateChild = generateNode(element.children[0], element, 0, variable + 1, staticParts, staticPartsMap); var body; @@ -855,16 +851,15 @@ body = "" + generateChild.prelude + variableFor + ".push(" + generateChild.node + ");"; } - if (dataArray === undefined) { + if ("in" in attributes) { // Generate a `for` loop over an object. The first local is the key and // the second is the value. + var dataObject = attributes["in"].value; + var dataKey = dataLocals[0]; var dataObjectValue; - dataObject = dataObject.value; - dataKey = dataLocals[0]; if (dataLocals.length === 2) { - dataValue = dataLocals[1]; - dataObjectValue = "var " + dataValue + "=" + dataObject + "[" + dataKey + "];"; + dataObjectValue = "var " + dataLocals[1] + "=" + dataObject + "[" + dataKey + "];"; } else { dataObjectValue = ""; } @@ -873,10 +868,11 @@ } else { // Generate a `for` loop over an array. The first local is the value and // the second is the key (index). - dataArray = dataArray.value; - dataKey = dataLocals.length === 2 ? dataLocals[1] : "m" + variable++; - dataValue = dataLocals[0]; - prelude = "for(var " + dataKey + "=0;" + dataKey + "<" + dataArray + ".length;" + dataKey + "++){var " + dataValue + "=" + dataArray + "[" + dataKey + "];" + body + "}"; + var dataArray = attributes.of.value; + + var _dataKey = dataLocals.length === 2 ? dataLocals[1] : "m" + variable++; + + prelude = "for(var " + _dataKey + "=0;" + _dataKey + "<" + dataArray + ".length;" + _dataKey + "++){var " + dataLocals[0] + "=" + dataArray + "[" + _dataKey + "];" + body + "}"; } if (dataData.isStatic) { diff --git a/packages/moon/dist/moon.min.js b/packages/moon/dist/moon.min.js index 7345fa75..64a98b69 100644 --- a/packages/moon/dist/moon.min.js +++ b/packages/moon/dist/moon.min.js @@ -4,4 +4,4 @@ * Released under the MIT License * https://kbrsh.github.io/moon */ -!function(e,t){"undefined"==typeof module?e.Moon=t():module.exports=t()}(this,function(){"use strict";var $={element:0,text:1,component:2};function c(e,t,a){this.node=e,this.element=t,this.children=a}function v(e,t,a,n){this.type=e,this.name=t,this.data=a,this.children=n}function n(e,t,a,n){return new v(e,t,a,n)}var E=/^\s+$/,N=/<([\w\d-_]+)([^>]*?)(\/?)>/g,t=/"[^"]*"|'[^']*'|\d+[a-zA-Z$_]\w*|\.[a-zA-Z$_]\w*|[a-zA-Z$_]\w*:|([a-zA-Z$_]\w*)/g,A=/&|>|<| |"|\\|"|\n|\r/g,r=["NaN","false","in","null","this","true","typeof","undefined","window"],M={class:"className",for:"htmlFor"},C={"&":"&",">":">","<":"<"," ":" ",""":'\\"',"\\":"\\\\",'"':'\\"',"\n":"\\n","\r":"\\r"};function P(e){var a=!0;return{value:e.replace(t,function(e,t){return void 0===t||-1!==r.indexOf(t)?e:(a=!1,"$"===t[0]?t:"children"===t?"mc":"md."+t)}),isStatic:a}}function a(e){e=e.trim();for(var t=[],a=0;a",a+2),l=e.slice(a+2,i);0,t.push({type:"tagClose",value:l}),a=i+1;continue}if("!"===r&&"-"===e[a+2]&&"-"===e[a+3]){var o=e.indexOf("--\x3e",a+4);0,a=o+3;continue}N.lastIndex=a;var u=N.exec(e);0;for(var v=u[0],s=u[1],c=u[2],d=u[3],f={},p=0;p]*?)(\/?)>/g,t=/"[^"]*"|'[^']*'|\d+[a-zA-Z$_]\w*|\.[a-zA-Z$_]\w*|[a-zA-Z$_]\w*:|([a-zA-Z$_]\w*)/g,A=/&|>|<| |"|\\|"|\n|\r/g,r=["NaN","false","in","null","this","true","typeof","undefined","window"],M={class:"className",for:"htmlFor"},C={"&":"&",">":">","<":"<"," ":" ",""":'\\"',"\\":"\\\\",'"':'\\"',"\n":"\\n","\r":"\\r"};function P(e){var a=!0;return{value:e.replace(t,function(e,t){return void 0===t||-1!==r.indexOf(t)?e:(a=!1,"$"===t[0]?t:"children"===t?"mc":"md."+t)}),isStatic:a}}function a(e){e=e.trim();for(var t=[],a=0;a",a+2),l=e.slice(a+2,i);0,t.push({type:"tagClose",value:l}),a=i+1;continue}if("!"===r&&"-"===e[a+2]&&"-"===e[a+3]){var o=e.indexOf("--\x3e",a+4);0,a=o+3;continue}N.lastIndex=a;var u=N.exec(e);0;for(var v=u[0],s=u[1],c=u[2],d=u[3],f={},p=0;p