deconflict `tmp` within its fragment

pull/422/head
Conduitry 9 years ago
parent d2a701c4f5
commit e32e69f3e8

@ -78,7 +78,7 @@ class DomGenerator extends Generator {
} else { } else {
properties.addBlock( deindent` properties.addBlock( deindent`
update: function ( changed, ${fragment.params.join( ', ' )} ) { update: function ( changed, ${fragment.params.join( ', ' )} ) {
var ${this.alias( 'tmp' )}; ${fragment.tmp ? `var ${fragment.tmp};` : ''}
${fragment.builders.update} ${fragment.builders.update}
}, },

@ -9,9 +9,12 @@ export default {
generator.current.builders.init.addLine( `var last_${name} = ${snippet};` ); generator.current.builders.init.addLine( `var last_${name} = ${snippet};` );
generator.addElement( name, `${generator.helper( 'createText' )}( last_${name} )`, true ); generator.addElement( name, `${generator.helper( 'createText' )}( last_${name} )`, true );
if ( !generator.current.tmp ) {
generator.current.tmp = generator.current.getUniqueName( 'tmp' );
}
generator.current.builders.update.addBlock( deindent` generator.current.builders.update.addBlock( deindent`
if ( ( ${generator.alias( 'tmp' )} = ${snippet} ) !== last_${name} ) { if ( ( ${generator.current.tmp} = ${snippet} ) !== last_${name} ) {
${name}.data = last_${name} = ${generator.alias( 'tmp' )}; ${name}.data = last_${name} = ${generator.current.tmp};
} }
` ); ` );
} }

@ -26,9 +26,12 @@ export default {
generator.current.builders.init.addLine( mountStatement ); generator.current.builders.init.addLine( mountStatement );
} }
if ( !generator.current.tmp ) {
generator.current.tmp = generator.current.getUniqueName( 'tmp' );
}
generator.current.builders.update.addBlock( deindent` generator.current.builders.update.addBlock( deindent`
if ( ( ${generator.alias( 'tmp' )} = ${snippet} ) !== last_${name} ) { if ( ( ${generator.current.tmp} = ${snippet} ) !== last_${name} ) {
last_${name} = ${generator.alias( 'tmp' )}; last_${name} = ${generator.current.tmp};
${detachStatement} ${detachStatement}
${mountStatement} ${mountStatement}
} }

@ -105,9 +105,12 @@ export default function addElementAttributes ( generator, node, local ) {
} }
local.init.addLine( updater ); local.init.addLine( updater );
if ( !generator.current.tmp ) {
generator.current.tmp = generator.current.getUniqueName( 'tmp' );
}
local.update.addBlock( deindent` local.update.addBlock( deindent`
if ( ( ${generator.alias( 'tmp' )} = ${snippet} ) !== ${last} ) { if ( ( ${generator.current.tmp} = ${snippet} ) !== ${last} ) {
${last} = ${generator.alias( 'tmp' )}; ${last} = ${generator.current.tmp};
${updater} ${updater}
} }
` ); ` );

Loading…
Cancel
Save