diff --git a/src/generators/dom/index.ts b/src/generators/dom/index.ts index 5c698821e9..393c83fe1f 100644 --- a/src/generators/dom/index.ts +++ b/src/generators/dom/index.ts @@ -122,8 +122,8 @@ export default function dom( @dispatchObservers( this, this._observers.pre, newState, oldState ); ${block.hasUpdateMethod && `this._fragment.update( newState, this._state );`} @dispatchObservers( this, this._observers.post, newState, oldState ); - ${(generator.hasComponents || generator.hasComplexBindings) && - `this._flush();`} + ${generator.hasComponents && `@callAll(this._oncreate);`} + ${generator.hasComplexBindings && `@callAll(this._bindings);`} ${generator.hasIntroTransitions && `@callAll(this._postcreate);`} `; @@ -157,7 +157,7 @@ export default function dom( ? `@proto ` : deindent` { - ${['get', 'fire', 'observe', 'on', 'set', '_flush'] + ${['get', 'fire', 'observe', 'on', 'set'] .map(n => `${n}: @${n}`) .join(',\n')} }`; @@ -218,16 +218,15 @@ export default function dom( this._fragment.${block.hasIntroMethod ? 'intro' : 'mount'}( options.target, null ); } - ${(generator.hasComponents || generator.hasIntroTransitions || generator.hasComplexBindings || templateProperties.oncreate) && - `this._flush();`} - - ${templateProperties.oncreate && - deindent` - if ( options._root ) { - options._root._oncreate.push( @template.oncreate.bind( this ) ); - } else { - @template.oncreate.call( this ); - }`} + ${generator.hasComponents && `@callAll(this._oncreate);`} + ${generator.hasComplexBindings && `@callAll(this._bindings);`} + + ${templateProperties.oncreate && deindent` + if ( options._root ) { + options._root._oncreate.push( @template.oncreate.bind( this ) ); + } else { + @template.oncreate.call( this ); + }`} ${generator.hasIntroTransitions && `@callAll(this._postcreate);`} } diff --git a/src/shared/index.js b/src/shared/index.js index 4a2f005058..acac5b216c 100644 --- a/src/shared/index.js +++ b/src/shared/index.js @@ -106,25 +106,19 @@ export function onDev(eventName, handler) { export function set(newState) { this._set(assign({}, newState)); - this._root._flush(); + callAll(this._root._oncreate); } export function callAll(fns) { while (fns && fns.length) fns.pop()(); } -export function _flush() { - callAll(this._oncreate); - callAll(this._bindings); -} - export var proto = { get: get, fire: fire, observe: observe, on: on, - set: set, - _flush: _flush + set: set }; export var protoDev = { @@ -132,6 +126,5 @@ export var protoDev = { fire: fire, observe: observeDev, on: onDev, - set: set, - _flush: _flush + set: set }; diff --git a/test/js/samples/collapses-text-around-comments/expected-bundle.js b/test/js/samples/collapses-text-around-comments/expected-bundle.js index e47fe8df28..ea478745cd 100644 --- a/test/js/samples/collapses-text-around-comments/expected-bundle.js +++ b/test/js/samples/collapses-text-around-comments/expected-bundle.js @@ -115,25 +115,19 @@ function on(eventName, handler) { function set(newState) { this._set(assign({}, newState)); - this._root._flush(); + callAll(this._root._oncreate); } function callAll(fns) { while (fns && fns.length) fns.pop()(); } -function _flush() { - callAll(this._oncreate); - callAll(this._bindings); -} - var proto = { get: get, fire: fire, observe: observe, on: on, - set: set, - _flush: _flush + set: set }; var template = (function () { diff --git a/test/js/samples/computed-collapsed-if/expected-bundle.js b/test/js/samples/computed-collapsed-if/expected-bundle.js index b574e09f0f..5cd719b372 100644 --- a/test/js/samples/computed-collapsed-if/expected-bundle.js +++ b/test/js/samples/computed-collapsed-if/expected-bundle.js @@ -91,25 +91,19 @@ function on(eventName, handler) { function set(newState) { this._set(assign({}, newState)); - this._root._flush(); + callAll(this._root._oncreate); } function callAll(fns) { while (fns && fns.length) fns.pop()(); } -function _flush() { - callAll(this._oncreate); - callAll(this._bindings); -} - var proto = { get: get, fire: fire, observe: observe, on: on, - set: set, - _flush: _flush + set: set }; function recompute ( state, newState, oldState, isInitial ) { diff --git a/test/js/samples/each-block-changed-check/expected-bundle.js b/test/js/samples/each-block-changed-check/expected-bundle.js index 5ac69c1c96..d98ac1db37 100644 --- a/test/js/samples/each-block-changed-check/expected-bundle.js +++ b/test/js/samples/each-block-changed-check/expected-bundle.js @@ -124,25 +124,19 @@ function on(eventName, handler) { function set(newState) { this._set(assign({}, newState)); - this._root._flush(); + callAll(this._root._oncreate); } function callAll(fns) { while (fns && fns.length) fns.pop()(); } -function _flush() { - callAll(this._oncreate); - callAll(this._bindings); -} - var proto = { get: get, fire: fire, observe: observe, on: on, - set: set, - _flush: _flush + set: set }; function create_main_fragment ( state, component ) { diff --git a/test/js/samples/event-handlers-custom/expected-bundle.js b/test/js/samples/event-handlers-custom/expected-bundle.js index b6c8d040ab..3912710a15 100644 --- a/test/js/samples/event-handlers-custom/expected-bundle.js +++ b/test/js/samples/event-handlers-custom/expected-bundle.js @@ -109,25 +109,19 @@ function on(eventName, handler) { function set(newState) { this._set(assign({}, newState)); - this._root._flush(); + callAll(this._root._oncreate); } function callAll(fns) { while (fns && fns.length) fns.pop()(); } -function _flush() { - callAll(this._oncreate); - callAll(this._bindings); -} - var proto = { get: get, fire: fire, observe: observe, on: on, - set: set, - _flush: _flush + set: set }; var template = (function () { diff --git a/test/js/samples/if-block-no-update/expected-bundle.js b/test/js/samples/if-block-no-update/expected-bundle.js index a445b1dbf4..f00e3816a9 100644 --- a/test/js/samples/if-block-no-update/expected-bundle.js +++ b/test/js/samples/if-block-no-update/expected-bundle.js @@ -115,25 +115,19 @@ function on(eventName, handler) { function set(newState) { this._set(assign({}, newState)); - this._root._flush(); + callAll(this._root._oncreate); } function callAll(fns) { while (fns && fns.length) fns.pop()(); } -function _flush() { - callAll(this._oncreate); - callAll(this._bindings); -} - var proto = { get: get, fire: fire, observe: observe, on: on, - set: set, - _flush: _flush + set: set }; function create_main_fragment ( state, component ) { diff --git a/test/js/samples/if-block-simple/expected-bundle.js b/test/js/samples/if-block-simple/expected-bundle.js index 199809ac18..2e2e7e7c09 100644 --- a/test/js/samples/if-block-simple/expected-bundle.js +++ b/test/js/samples/if-block-simple/expected-bundle.js @@ -115,25 +115,19 @@ function on(eventName, handler) { function set(newState) { this._set(assign({}, newState)); - this._root._flush(); + callAll(this._root._oncreate); } function callAll(fns) { while (fns && fns.length) fns.pop()(); } -function _flush() { - callAll(this._oncreate); - callAll(this._bindings); -} - var proto = { get: get, fire: fire, observe: observe, on: on, - set: set, - _flush: _flush + set: set }; function create_main_fragment ( state, component ) { diff --git a/test/js/samples/non-imported-component/expected-bundle.js b/test/js/samples/non-imported-component/expected-bundle.js index 809f4e1e77..878bdf223e 100644 --- a/test/js/samples/non-imported-component/expected-bundle.js +++ b/test/js/samples/non-imported-component/expected-bundle.js @@ -103,25 +103,19 @@ function on(eventName, handler) { function set(newState) { this._set(assign({}, newState)); - this._root._flush(); + callAll(this._root._oncreate); } function callAll(fns) { while (fns && fns.length) fns.pop()(); } -function _flush() { - callAll(this._oncreate); - callAll(this._bindings); -} - var proto = { get: get, fire: fire, observe: observe, on: on, - set: set, - _flush: _flush + set: set }; var template = (function () { @@ -193,7 +187,7 @@ function SvelteComponent ( options ) { this._fragment.mount( options.target, null ); } - this._flush(); + callAll(this._oncreate); } assign( SvelteComponent.prototype, proto ); @@ -203,7 +197,7 @@ SvelteComponent.prototype._set = function _set ( newState ) { this._state = assign( {}, oldState, newState ); dispatchObservers( this, this._observers.pre, newState, oldState ); dispatchObservers( this, this._observers.post, newState, oldState ); - this._flush(); + callAll(this._oncreate); }; SvelteComponent.prototype.teardown = SvelteComponent.prototype.destroy = function destroy ( detach ) { diff --git a/test/js/samples/non-imported-component/expected.js b/test/js/samples/non-imported-component/expected.js index e2aa2d4457..c154930593 100644 --- a/test/js/samples/non-imported-component/expected.js +++ b/test/js/samples/non-imported-component/expected.js @@ -1,6 +1,6 @@ import Imported from 'Imported.html'; -import { assign, createText, detachNode, dispatchObservers, insertNode, proto } from "svelte/shared.js"; +import { assign, callAll, createText, detachNode, dispatchObservers, insertNode, proto } from "svelte/shared.js"; var template = (function () { return { @@ -71,7 +71,7 @@ function SvelteComponent ( options ) { this._fragment.mount( options.target, null ); } - this._flush(); + callAll(this._oncreate); } assign( SvelteComponent.prototype, proto ); @@ -81,7 +81,7 @@ SvelteComponent.prototype._set = function _set ( newState ) { this._state = assign( {}, oldState, newState ); dispatchObservers( this, this._observers.pre, newState, oldState ); dispatchObservers( this, this._observers.post, newState, oldState ); - this._flush(); + callAll(this._oncreate); }; SvelteComponent.prototype.teardown = SvelteComponent.prototype.destroy = function destroy ( detach ) { diff --git a/test/js/samples/onrender-onteardown-rewritten/expected-bundle.js b/test/js/samples/onrender-onteardown-rewritten/expected-bundle.js index ec4b795edd..e74522a945 100644 --- a/test/js/samples/onrender-onteardown-rewritten/expected-bundle.js +++ b/test/js/samples/onrender-onteardown-rewritten/expected-bundle.js @@ -91,25 +91,19 @@ function on(eventName, handler) { function set(newState) { this._set(assign({}, newState)); - this._root._flush(); + callAll(this._root._oncreate); } function callAll(fns) { while (fns && fns.length) fns.pop()(); } -function _flush() { - callAll(this._oncreate); - callAll(this._bindings); -} - var proto = { get: get, fire: fire, observe: observe, on: on, - set: set, - _flush: _flush + set: set }; var template = (function () { @@ -156,8 +150,6 @@ function SvelteComponent ( options ) { this._fragment.mount( options.target, null ); } - this._flush(); - if ( options._root ) { options._root._oncreate.push( template.oncreate.bind( this ) ); } else { diff --git a/test/js/samples/onrender-onteardown-rewritten/expected.js b/test/js/samples/onrender-onteardown-rewritten/expected.js index cce718f922..96aa37d766 100644 --- a/test/js/samples/onrender-onteardown-rewritten/expected.js +++ b/test/js/samples/onrender-onteardown-rewritten/expected.js @@ -44,8 +44,6 @@ function SvelteComponent ( options ) { this._fragment.mount( options.target, null ); } - this._flush(); - if ( options._root ) { options._root._oncreate.push( template.oncreate.bind( this ) ); } else { diff --git a/test/js/samples/use-elements-as-anchors/expected-bundle.js b/test/js/samples/use-elements-as-anchors/expected-bundle.js index 13f89030e4..62a6ac86e0 100644 --- a/test/js/samples/use-elements-as-anchors/expected-bundle.js +++ b/test/js/samples/use-elements-as-anchors/expected-bundle.js @@ -115,25 +115,19 @@ function on(eventName, handler) { function set(newState) { this._set(assign({}, newState)); - this._root._flush(); + callAll(this._root._oncreate); } function callAll(fns) { while (fns && fns.length) fns.pop()(); } -function _flush() { - callAll(this._oncreate); - callAll(this._bindings); -} - var proto = { get: get, fire: fire, observe: observe, on: on, - set: set, - _flush: _flush + set: set }; function create_main_fragment ( state, component ) {