diff --git a/src/generators/dom/index.js b/src/generators/dom/index.js index 3e86ead435..deb667755e 100644 --- a/src/generators/dom/index.js +++ b/src/generators/dom/index.js @@ -20,13 +20,13 @@ class DomGenerator extends Generator { addElement ( name, renderStatement, needsIdentifier = false ) { const isToplevel = this.current.localElementDepth === 0; if ( needsIdentifier || isToplevel ) { - this.current.builders.init.addLine( + this.current.builders.create.addLine( `var ${name} = ${renderStatement};` ); this.createMountStatement( name ); } else { - this.current.builders.init.addLine( `${this.helper( 'appendNode' )}( ${renderStatement}, ${this.current.target} );` ); + this.current.builders.create.addLine( `${this.helper( 'appendNode' )}( ${renderStatement}, ${this.current.target} );` ); } if ( isToplevel ) { @@ -36,7 +36,7 @@ class DomGenerator extends Generator { addRenderer ( fragment ) { if ( fragment.autofocus ) { - fragment.builders.init.addLine( `${fragment.autofocus}.focus();` ); + fragment.builders.create.addLine( `${fragment.autofocus}.focus();` ); } // minor hack – we need to ensure that any {{{triples}}} are detached @@ -44,7 +44,7 @@ class DomGenerator extends Generator { fragment.builders.detachRaw.addBlock( fragment.builders.detach ); if ( !fragment.builders.detachRaw.isEmpty() ) { - fragment.builders.teardown.addBlock( deindent` + fragment.builders.destroy.addBlock( deindent` if ( detach ) { ${fragment.builders.detachRaw} } @@ -81,19 +81,19 @@ class DomGenerator extends Generator { ` ); } - if ( fragment.builders.teardown.isEmpty() ) { - properties.addBlock( `teardown: ${this.helper( 'noop' )},` ); + if ( fragment.builders.destroy.isEmpty() ) { + properties.addBlock( `destroy: ${this.helper( 'noop' )},` ); } else { properties.addBlock( deindent` - teardown: function ( detach ) { - ${fragment.builders.teardown} + destroy: function ( detach ) { + ${fragment.builders.destroy} } ` ); } this.renderers.push( deindent` function ${fragment.name} ( ${fragment.params.join( ', ' )}, ${fragment.component}${fragment.key ? `, ${localKey}` : ''} ) { - ${fragment.builders.init} + ${fragment.builders.create} return { ${properties} @@ -111,7 +111,7 @@ class DomGenerator extends Generator { if ( this.current.target === 'target' ) { this.current.builders.mount.addLine( `${this.helper( 'insertNode' )}( ${name}, target, anchor );` ); } else { - this.current.builders.init.addLine( `${this.helper( 'appendNode' )}( ${name}, ${this.current.target} );` ); + this.current.builders.create.addLine( `${this.helper( 'appendNode' )}( ${name}, ${this.current.target} );` ); } } @@ -158,7 +158,7 @@ export default function dom ( parsed, source, options ) { generator.push({ type: 'block', - name: generator.alias( 'render_main_fragment' ), + name: generator.alias( 'create_main_fragment' ), namespace, target: 'target', localElementDepth: 0, @@ -261,7 +261,7 @@ export default function dom ( parsed, source, options ) { if ( generator.hasComplexBindings ) { builders.init.addBlock( deindent` this._bindings = []; - this._fragment = ${generator.alias( 'render_main_fragment' )}( this._state, this ); + this._fragment = ${generator.alias( 'create_main_fragment' )}( this._state, this ); if ( options.target ) this._fragment.mount( options.target, null ); while ( this._bindings.length ) this._bindings.pop()(); ` ); @@ -269,7 +269,7 @@ export default function dom ( parsed, source, options ) { builders._set.addLine( `while ( this._bindings.length ) this._bindings.pop()();` ); } else { builders.init.addBlock( deindent` - this._fragment = ${generator.alias( 'render_main_fragment' )}( this._state, this ); + this._fragment = ${generator.alias( 'create_main_fragment' )}( this._state, this ); if ( options.target ) this._fragment.mount( options.target, null ); ` ); } @@ -369,7 +369,7 @@ export default function dom ( parsed, source, options ) { ${name}.prototype.teardown = ${name}.prototype.destroy = function destroy ( detach ) { this.fire( 'destroy' );${templateProperties.ondestroy ? `\n${generator.alias( 'template' )}.ondestroy.call( this );` : ``} - this._fragment.teardown( detach !== false ); + this._fragment.destroy( detach !== false ); this._fragment = null; this._state = {}; diff --git a/src/generators/dom/utils/getBuilders.js b/src/generators/dom/utils/getBuilders.js index ca66c1bec5..396ab54aa6 100644 --- a/src/generators/dom/utils/getBuilders.js +++ b/src/generators/dom/utils/getBuilders.js @@ -2,11 +2,11 @@ import CodeBuilder from '../../../utils/CodeBuilder.js'; export default function getBuilders () { return { - init: new CodeBuilder(), + create: new CodeBuilder(), mount: new CodeBuilder(), update: new CodeBuilder(), detach: new CodeBuilder(), detachRaw: new CodeBuilder(), - teardown: new CodeBuilder() + destroy: new CodeBuilder() }; } diff --git a/src/generators/dom/visitors/Component.js b/src/generators/dom/visitors/Component.js index 1733886fda..12f02ba53f 100644 --- a/src/generators/dom/visitors/Component.js +++ b/src/generators/dom/visitors/Component.js @@ -31,7 +31,7 @@ export default function visitComponent ( generator, node ) { allUsedContexts: [], - init: new CodeBuilder(), + create: new CodeBuilder(), update: new CodeBuilder() }; @@ -60,7 +60,7 @@ export default function visitComponent ( generator, node ) { return `${name}._context.${listName} = ${listName};\n${name}._context.${indexName} = ${indexName};`; }).join( '\n' ); - local.init.addBlock( deindent` + local.create.addBlock( deindent` ${name}._context = { ${initialProps} }; @@ -83,7 +83,7 @@ export default function visitComponent ( generator, node ) { const yieldFragment = current.getUniqueName( `${name}_yield_fragment` ); - current.builders.init.addLine( + current.builders.create.addLine( `var ${yieldFragment} = ${yieldName}( ${params}, ${current.component} );` ); @@ -120,7 +120,7 @@ export default function visitComponent ( generator, node ) { const expression = node.name === ':Self' ? generator.name : generator.importedComponents.get( node.name ) || `${generator.alias( 'template' )}.components.${node.name}`; - local.init.addBlockAtStart( deindent` + local.create.addBlockAtStart( deindent` ${statements.join( '\n' )} var ${name} = new ${expression}({ ${componentInitProperties.join(',\n')} @@ -153,9 +153,9 @@ export default function visitComponent ( generator, node ) { ` ); } - current.builders.teardown.addLine( `${name}.destroy( ${isToplevel ? 'detach' : 'false'} );` ); + current.builders.destroy.addLine( `${name}.destroy( ${isToplevel ? 'detach' : 'false'} );` ); - current.builders.init.addBlock( local.init ); + current.builders.create.addBlock( local.create ); if ( !local.update.isEmpty() ) current.builders.update.addBlock( local.update ); generator.push({ diff --git a/src/generators/dom/visitors/EachBlock.js b/src/generators/dom/visitors/EachBlock.js index d60c69ec8b..d52feec1bf 100644 --- a/src/generators/dom/visitors/EachBlock.js +++ b/src/generators/dom/visitors/EachBlock.js @@ -30,10 +30,10 @@ export default function visitEachBlock ( generator, node ) { localVars.lookup = generator.current.getUniqueName( `${name}_lookup` ); localVars._lookup = generator.current.getUniqueName( `_${name}_lookup` ); - generator.current.builders.init.addLine( `var ${listName} = ${snippet};` ); - generator.current.builders.init.addLine( `var ${localVars.iterations} = [];` ); - if ( node.key ) generator.current.builders.init.addLine( `var ${localVars.lookup} = Object.create( null );` ); - if ( node.else ) generator.current.builders.init.addLine( `var ${elseName} = null;` ); + generator.current.builders.create.addLine( `var ${listName} = ${snippet};` ); + generator.current.builders.create.addLine( `var ${localVars.iterations} = [];` ); + if ( node.key ) generator.current.builders.create.addLine( `var ${localVars.lookup} = Object.create( null );` ); + if ( node.else ) generator.current.builders.create.addLine( `var ${elseName} = null;` ); const initialRender = new CodeBuilder(); @@ -58,14 +58,14 @@ export default function visitEachBlock ( generator, node ) { ); } - generator.current.builders.init.addBlock( deindent` + generator.current.builders.create.addBlock( deindent` for ( var ${i} = 0; ${i} < ${listName}.length; ${i} += 1 ) { ${initialRender} } ` ); if ( node.else ) { - generator.current.builders.init.addBlock( deindent` + generator.current.builders.create.addBlock( deindent` if ( !${listName}.length ) { ${elseName} = ${renderElse}( ${params}, ${generator.current.component} ); ${!isToplevel ? `${elseName}.mount( ${anchor}.parentNode, ${anchor} );` : ''} @@ -115,7 +115,7 @@ export default function visitEachBlock ( generator, node ) { for ( var ${i} = 0; ${i} < ${localVars.iterations}.length; ${i} += 1 ) { var ${localVars.iteration} = ${localVars.iterations}[${i}]; if ( !${localVars._lookup}[ ${localVars.iteration}.key ] ) { - ${localVars.iteration}.teardown( true ); + ${localVars.iteration}.destroy( true ); } } @@ -137,7 +137,7 @@ export default function visitEachBlock ( generator, node ) { } } - teardownEach( ${localVars.iterations}, true, ${listName}.length ); + destroyEach( ${localVars.iterations}, true, ${listName}.length ); ${localVars.iterations}.length = ${listName}.length; ` ); @@ -151,18 +151,18 @@ export default function visitEachBlock ( generator, node ) { ${elseName} = ${renderElse}( ${params}, ${generator.current.component} ); ${elseName}.mount( ${anchor}.parentNode, ${anchor} ); } else if ( ${elseName} ) { - ${elseName}.teardown( true ); + ${elseName}.destroy( true ); } ` ); } - generator.current.builders.teardown.addBlock( - `${generator.helper( 'teardownEach' )}( ${localVars.iterations}, ${isToplevel ? 'detach' : 'false'} );` ); + generator.current.builders.destroy.addBlock( + `${generator.helper( 'destroyEach' )}( ${localVars.iterations}, ${isToplevel ? 'detach' : 'false'} );` ); if ( node.else ) { - generator.current.builders.teardown.addBlock( deindent` + generator.current.builders.destroy.addBlock( deindent` if ( ${elseName} ) { - ${elseName}.teardown( ${isToplevel ? 'detach' : 'false'} ); + ${elseName}.destroy( ${isToplevel ? 'detach' : 'false'} ); } ` ); } diff --git a/src/generators/dom/visitors/Element.js b/src/generators/dom/visitors/Element.js index 21f81c8eb9..6b1b209892 100644 --- a/src/generators/dom/visitors/Element.js +++ b/src/generators/dom/visitors/Element.js @@ -27,9 +27,9 @@ export default function visitElement ( generator, node ) { allUsedContexts: [], - init: new CodeBuilder(), + create: new CodeBuilder(), update: new CodeBuilder(), - teardown: new CodeBuilder() + destroy: new CodeBuilder() }; const isToplevel = generator.current.localElementDepth === 0; @@ -55,7 +55,7 @@ export default function visitElement ( generator, node ) { return `${name}.__svelte.${listName} = ${listName};\n${name}.__svelte.${indexName} = ${indexName};`; }).join( '\n' ); - local.init.addBlock( deindent` + local.create.addBlock( deindent` ${name}.__svelte = { ${initialProps} }; @@ -80,7 +80,7 @@ export default function visitElement ( generator, node ) { render += `\n${generator.helper( 'setAttribute' )}( ${name}, '${generator.cssId}', '' );`; } - local.init.addLineAtStart( render ); + local.create.addLineAtStart( render ); if ( isToplevel ) { generator.current.builders.detach.addLine( `${generator.helper( 'detachNode' )}( ${name} );` ); } @@ -92,9 +92,9 @@ export default function visitElement ( generator, node ) { node.initialUpdate = statement; } - generator.current.builders.init.addBlock( local.init ); + generator.current.builders.create.addBlock( local.create ); if ( !local.update.isEmpty() ) generator.current.builders.update.addBlock( local.update ); - if ( !local.teardown.isEmpty() ) generator.current.builders.teardown.addBlock( local.teardown ); + if ( !local.destroy.isEmpty() ) generator.current.builders.destroy.addBlock( local.destroy ); generator.createMountStatement( name ); @@ -116,7 +116,7 @@ export default function visitElement ( generator, node ) { generator.elementDepth -= 1; if ( node.initialUpdate ) { - generator.current.builders.init.addBlock( node.initialUpdate ); + generator.current.builders.create.addBlock( node.initialUpdate ); } generator.pop(); diff --git a/src/generators/dom/visitors/IfBlock.js b/src/generators/dom/visitors/IfBlock.js index aa1c15d7d1..9653770de5 100644 --- a/src/generators/dom/visitors/IfBlock.js +++ b/src/generators/dom/visitors/IfBlock.js @@ -43,7 +43,7 @@ export default function visitIfBlock ( generator, node ) { const anchor = `${name}_anchor`; generator.createAnchor( anchor ); - generator.current.builders.init.addBlock( deindent` + generator.current.builders.create.addBlock( deindent` function ${getBlock} ( ${params} ) { ${conditionsAndBlocks.map( ({ condition, block }) => { return `${condition ? `if ( ${condition} ) ` : ''}return ${block};`; @@ -58,7 +58,7 @@ export default function visitIfBlock ( generator, node ) { if ( isToplevel ) { generator.current.builders.mount.addLine( mountStatement ); } else { - generator.current.builders.init.addLine( mountStatement ); + generator.current.builders.create.addLine( mountStatement ); } generator.current.builders.update.addBlock( deindent` @@ -67,13 +67,13 @@ export default function visitIfBlock ( generator, node ) { if ( ${_currentBlock} === ${currentBlock} && ${name}) { ${name}.update( changed, ${params} ); } else { - if ( ${name} ) ${name}.teardown( true ); + if ( ${name} ) ${name}.destroy( true ); ${name} = ${currentBlock} && ${currentBlock}( ${params}, ${generator.current.component} ); if ( ${name} ) ${name}.mount( ${anchor}.parentNode, ${anchor} ); } ` ); - generator.current.builders.teardown.addLine( - `if ( ${name} ) ${name}.teardown( ${isToplevel ? 'detach' : 'false'} );` + generator.current.builders.destroy.addLine( + `if ( ${name} ) ${name}.destroy( ${isToplevel ? 'detach' : 'false'} );` ); } \ No newline at end of file diff --git a/src/generators/dom/visitors/MustacheTag.js b/src/generators/dom/visitors/MustacheTag.js index 01e36b03e9..9f0f072c70 100644 --- a/src/generators/dom/visitors/MustacheTag.js +++ b/src/generators/dom/visitors/MustacheTag.js @@ -6,7 +6,7 @@ export default function visitMustacheTag ( generator, node ) { const { snippet } = generator.contextualise( node.expression ); - generator.current.builders.init.addLine( `var last_${name} = ${snippet};` ); + generator.current.builders.create.addLine( `var last_${name} = ${snippet};` ); generator.addElement( name, `${generator.helper( 'createText' )}( last_${name} )`, true ); const fragment = findBlock( generator.current ); diff --git a/src/generators/dom/visitors/RawMustacheTag.js b/src/generators/dom/visitors/RawMustacheTag.js index db87960e7d..de014e0010 100644 --- a/src/generators/dom/visitors/RawMustacheTag.js +++ b/src/generators/dom/visitors/RawMustacheTag.js @@ -16,14 +16,14 @@ export default function visitRawMustacheTag ( generator, node ) { const isToplevel = generator.current.localElementDepth === 0; - generator.current.builders.init.addLine( `var last_${name} = ${snippet};` ); + generator.current.builders.create.addLine( `var last_${name} = ${snippet};` ); const mountStatement = `${before}.insertAdjacentHTML( 'afterend', last_${name} );`; const detachStatement = `${generator.helper( 'detachBetween' )}( ${before}, ${after} );`; if ( isToplevel ) { generator.current.builders.mount.addLine( mountStatement ); } else { - generator.current.builders.init.addLine( mountStatement ); + generator.current.builders.create.addLine( mountStatement ); } const fragment = findBlock( generator.current ); diff --git a/src/generators/dom/visitors/YieldTag.js b/src/generators/dom/visitors/YieldTag.js index 45f28172b2..d9b731a08d 100644 --- a/src/generators/dom/visitors/YieldTag.js +++ b/src/generators/dom/visitors/YieldTag.js @@ -6,7 +6,7 @@ export default function visitYieldTag ( generator ) { `${generator.current.component}._yield && ${generator.current.component}._yield.mount( ${generator.current.target}, ${anchor} );` ); - generator.current.builders.teardown.addLine( - `${generator.current.component}._yield && ${generator.current.component}._yield.teardown( detach );` + generator.current.builders.destroy.addLine( + `${generator.current.component}._yield && ${generator.current.component}._yield.destroy( detach );` ); } \ No newline at end of file diff --git a/src/generators/dom/visitors/attributes/addComponentAttributes.js b/src/generators/dom/visitors/attributes/addComponentAttributes.js index d2e0d48443..0a66db3a18 100644 --- a/src/generators/dom/visitors/attributes/addComponentAttributes.js +++ b/src/generators/dom/visitors/attributes/addComponentAttributes.js @@ -102,7 +102,7 @@ export default function addComponentAttributes ( generator, node, local ) { const handlerBody = ( declarations.length ? declarations.join( '\n' ) + '\n\n' : '' ) + `[✂${attribute.expression.start}-${attribute.expression.end}✂];`; - local.init.addBlock( deindent` + local.create.addBlock( deindent` ${local.name}.on( '${attribute.name}', function ( event ) { ${handlerBody} }); @@ -116,11 +116,11 @@ export default function addComponentAttributes ( generator, node, local ) { else if ( attribute.type === 'Ref' ) { generator.usesRefs = true; - local.init.addLine( + local.create.addLine( `${generator.current.component}.refs.${attribute.name} = ${local.name};` ); - generator.current.builders.teardown.addLine( deindent` + generator.current.builders.destroy.addLine( deindent` if ( ${generator.current.component}.refs.${attribute.name} === ${local.name} ) ${generator.current.component}.refs.${attribute.name} = null; ` ); } diff --git a/src/generators/dom/visitors/attributes/addComponentBinding.js b/src/generators/dom/visitors/attributes/addComponentBinding.js index 07ae7fefe8..204ab5d3bc 100644 --- a/src/generators/dom/visitors/attributes/addComponentBinding.js +++ b/src/generators/dom/visitors/attributes/addComponentBinding.js @@ -41,7 +41,7 @@ export default function createBinding ( generator, node, attribute, current, loc const updating = generator.current.getUniqueName( `${local.name}_updating` ); - local.init.addBlock( deindent` + local.create.addBlock( deindent` var ${updating} = false; ${generator.current.component}._bindings.push( function () { diff --git a/src/generators/dom/visitors/attributes/addElementAttributes.js b/src/generators/dom/visitors/attributes/addElementAttributes.js index 2d96cc73bf..fb0a2b4b61 100644 --- a/src/generators/dom/visitors/attributes/addElementAttributes.js +++ b/src/generators/dom/visitors/attributes/addElementAttributes.js @@ -32,11 +32,11 @@ export default function addElementAttributes ( generator, node, local ) { if ( attribute.value === true ) { // attributes without values, e.g.