torso-bundle.js
function($el, template, context, opts) {
      var newDOM, newHTML,
          el = $el.get(0);
      opts = opts || {};

      newHTML = opts.newHTML || template(context);
      if (opts.force) {
        $el.html(newHTML);
      } else {
        newDOM = this.copyTopElement(el);
        $(newDOM).html(newHTML);
        this.hotswapKeepCaret(el, newDOM, opts.ignoreElements);
      }
    }
function($el, template, context, opts) {
      var newDOM, newHTML,
          el = $el.get(0);
      opts = opts || {};

      newHTML = opts.newHTML || template(context);
      if (opts.force) {
        $el.html(newHTML);
      } else {
        newDOM = this.copyTopElement(el);
        $(newDOM).html(newHTML);
        this.hotswapKeepCaret(el, newDOM, opts.ignoreElements);
      }
    }
function ( $el , template , context , opts ) { var newDOM , newHTML , el = $el . get ( 0 ) ; opts = opts || { } ; newHTML = opts . newHTML || template ( context ) ; if ( opts . force ) { $el . html ( newHTML ) ; } else { newDOM = this . copyTopElement ( el ) ; $ ( newDOM ) . html ( newHTML ) ; this . hotswapKeepCaret ( el , newDOM , opts . ignoreElements ) ; } }
Performs efficient re-rendering of a template.
@method render
@param  $el {jQueryObject} The Element to render into
@param  template {Handlebars Template} The HBS template to apply
@param  context {Object} The context object to pass to the template
@param  [opts] {Object} Other options
@param  [opts.force=false] {Boolean} Will forcefully do a fresh render and not a diff-render
@param  [opts.newHTML] {String} If you pass in newHTML, it will not use the template or context, but use this instead.
@param  [opts.ignoreElements] {Array} jQuery selectors of DOM elements to ignore during render. Can be an expensive check
Performs efficient re - rendering of a template .