javascript/ractive.js
function Ractive$teardown () {
  	if ( this.torndown ) {
  		warnIfDebug( 'ractive.teardown() was called on a Ractive instance that was already torn down' );
  		return Promise$1.resolve();
  	}

  	this.torndown = true;
  	this.fragment.unbind();
  	this.viewmodel.teardown();

  	this._observers.forEach( cancel );

  	if ( this.fragment.rendered && this.el.__ractive_instances__ ) {
  		removeFromArray( this.el.__ractive_instances__, this );
  	}

  	this.shouldDestroy = true;
  	var promise = ( this.fragment.rendered ? this.unrender() : Promise$1.resolve() );

  	teardownHook$1.fire( this );

  	return promise;
  }
function Ractive$teardown () {
  	if ( this.torndown ) {
  		warnIfDebug( 'ractive.teardown() was called on a Ractive instance that was already torn down' );
  		return Promise$1.resolve();
  	}

  	this.torndown = true;
  	this.fragment.unbind();
  	this.viewmodel.teardown();

  	this._observers.forEach( cancel );

  	if ( this.fragment.rendered && this.el.__ractive_instances__ ) {
  		removeFromArray( this.el.__ractive_instances__, this );
  	}

  	this.shouldDestroy = true;
  	var promise = ( this.fragment.rendered ? this.unrender() : Promise$1.resolve() );

  	teardownHook$1.fire( this );

  	return promise;
  }
function Ractive$teardown ( ) { if ( this . torndown ) { warnIfDebug ( 'ractive.teardown() was called on a Ractive instance that was already torn down' ) ; return Promise$1 . resolve ( ) ; } this . torndown = true ; this . fragment . unbind ( ) ; this . viewmodel . teardown ( ) ; this . _observers . forEach ( cancel ) ; if ( this . fragment . rendered && this . el . __ractive_instances__ ) { removeFromArray ( this . el . __ractive_instances__ , this ) ; } this . shouldDestroy = true ; var promise = ( this . fragment . rendered ? this . unrender ( ) : Promise$1 . resolve ( ) ) ; teardownHook$1 . fire ( this ) ; return promise ; }
Teardown. This goes through the root fragment and all its children, removing observers and generally cleaning up after itself
Teardown . This goes through the root fragment and all its children removing observers and generally cleaning up after itself