Clean up generated teardown code for empty cases

pull/7738/head
mrkishi 9 years ago
parent d840aec57e
commit 5194ccb936

@ -57,6 +57,19 @@ export default function generate ( parsed, source, options ) {
fragment.initStatements.push( `${fragment.autofocus}.focus();` ); fragment.initStatements.push( `${fragment.autofocus}.focus();` );
} }
const detachStatements = fragment.detachStatements.join( '\n\n' );
const teardownStatements = fragment.teardownStatements.join( '\n\n' );
const detachBlock = deindent`
if ( detach ) {
${detachStatements}
}
`;
const teardownBlock = deindent`
${teardownStatements}${detachStatements ? `\n\n${detachBlock}` : ``}
`;
renderers.push( deindent` renderers.push( deindent`
function ${fragment.name} ( ${fragment.params}, component ) { function ${fragment.name} ( ${fragment.params}, component ) {
${fragment.initStatements.join( '\n\n' )} ${fragment.initStatements.join( '\n\n' )}
@ -71,11 +84,7 @@ export default function generate ( parsed, source, options ) {
}, },
teardown: function ( detach ) { teardown: function ( detach ) {
${fragment.teardownStatements.join( '\n\n' )} ${teardownBlock}
if ( detach ) {
${fragment.detachStatements.join( '\n\n' )}
}
} }
}; };
} }

Loading…
Cancel
Save