From 06f5f787f9e0a4a6485bec701ff892f8336f4b13 Mon Sep 17 00:00:00 2001 From: Rich-Harris Date: Sat, 19 Nov 2016 20:57:33 -0500 Subject: [PATCH] inline expressions are now... inline --- compiler/generate/index.js | 38 +++----------------------------------- 1 file changed, 3 insertions(+), 35 deletions(-) diff --git a/compiler/generate/index.js b/compiler/generate/index.js index 431b4213d6..7b8ccc68da 100644 --- a/compiler/generate/index.js +++ b/compiler/generate/index.js @@ -61,7 +61,6 @@ export default function generate ( parsed, template ) { } const renderers = []; - const expressionFunctions = []; const getName = counter(); @@ -309,13 +308,6 @@ export default function generate ( parsed, template ) { } ` ); } else { - // const expressionFunction = getName( 'expression' ); - // expressionFunctions.push( deindent` - // function ${expressionFunction} ( ${usedContexts.join( ', ' )} ) { - // return ${snippet}; - // } - // ` ); - const temp = getName( 'temp' ); current.updateStatements.push( deindent` @@ -356,17 +348,10 @@ export default function generate ( parsed, template ) { } ` ); } else { - const expressionFunction = getName( 'expression' ); - expressionFunctions.push( deindent` - function ${expressionFunction} ( ${usedContexts.join( ', ' )} ) { - return ${snippet}; - } - ` ); - expression = `${name}_value`; current.updateStatements.push( deindent` - var ${expression} = ${expressionFunction}( ${usedContexts.join( ', ' )} ); + var ${expression} = ${snippet}; if ( ${expression} && !${name} ) { ${name} = ${renderer}( component, ${current.target}, ${name}_anchor ); @@ -427,26 +412,11 @@ export default function generate ( parsed, template ) { const ${name}_fragment = document.createDocumentFragment(); ` ); - const usedContexts = contextualise( code, node.expression, current.contexts, helpers ); + contextualise( code, node.expression, current.contexts, helpers ); const snippet = `[✂${node.expression.start}-${node.expression.end}✂]`; - let expression; - - if ( isReference( node.expression ) ) { - expression = snippet; - } else { - const expressionFunction = getName( 'expression' ); - expressionFunctions.push( deindent` - function ${expressionFunction} ( ${usedContexts.join( ', ' )} ) { - return ${snippet}; - } - ` ); - - expression = `${expressionFunction}( ${usedContexts.join( ', ' )} )`; - } - current.updateStatements.push( deindent` - var ${name}_value = ${expression}; + var ${name}_value = ${snippet}; for ( var i = 0; i < ${name}_value.length; i += 1 ) { if ( !${name}_iterations[i] ) { @@ -559,8 +529,6 @@ export default function generate ( parsed, template ) { const result = deindent` ${parsed.js ? `[✂${parsed.js.content.start}-${parsed.js.content.end}✂]` : ``} - ${expressionFunctions.join( '\n\n' )} - ${renderers.reverse().join( '\n\n' )} export default function createComponent ( options ) {