dist/monitor-all.js
function(loud) {
      this.changed = {};
      var already = {};
      var triggers = [];
      var current = this._currentAttributes;
      var changes = this._changes;

      // Loop through the current queue of potential model changes.
      for (var i = changes.length - 2; i >= 0; i -= 2) {
        var key = changes[i], val = changes[i + 1];
        if (already[key]) continue;
        already[key] = true;

        // Check if the attribute has been modified since the last change,
        // and update `this.changed` accordingly. If we're inside of a `change`
        // call, also add a trigger to the list.
        if (current[key] !== val) {
          this.changed[key] = val;
          if (!loud) continue;
          triggers.push(key, val);
          current[key] = val;
        }
      }
      if (loud) this._changes = [];

      // Signals `this.changed` is current to prevent duplicate calls from `this.hasChanged`.
      this._hasComputed = true;
      return triggers;
    }
function(loud) {
      this.changed = {};
      var already = {};
      var triggers = [];
      var current = this._currentAttributes;
      var changes = this._changes;

      // Loop through the current queue of potential model changes.
      for (var i = changes.length - 2; i >= 0; i -= 2) {
        var key = changes[i], val = changes[i + 1];
        if (already[key]) continue;
        already[key] = true;

        // Check if the attribute has been modified since the last change,
        // and update `this.changed` accordingly. If we're inside of a `change`
        // call, also add a trigger to the list.
        if (current[key] !== val) {
          this.changed[key] = val;
          if (!loud) continue;
          triggers.push(key, val);
          current[key] = val;
        }
      }
      if (loud) this._changes = [];

      // Signals `this.changed` is current to prevent duplicate calls from `this.hasChanged`.
      this._hasComputed = true;
      return triggers;
    }
function ( loud ) { this . changed = { } ; var already = { } ; var triggers = [ ] ; var current = this . _currentAttributes ; var changes = this . _changes ; // Loop through the current queue of potential model changes. for ( var i = changes . length - 2 ; i >= 0 ; i -= 2 ) { var key = changes [ i ] , val = changes [ i + 1 ] ; if ( already [ key ] ) continue ; already [ key ] = true ; // Check if the attribute has been modified since the last change, // and update `this.changed` accordingly. If we're inside of a `change` // call, also add a trigger to the list. if ( current [ key ] !== val ) { this . changed [ key ] = val ; if ( ! loud ) continue ; triggers . push ( key , val ) ; current [ key ] = val ; } } if ( loud ) this . _changes = [ ] ; // Signals `this.changed` is current to prevent duplicate calls from `this.hasChanged`. this . _hasComputed = true ; return triggers ; }
Looking at the built up list of `set` attribute changes, compute how many of the attributes have actually changed. If `loud`, return a boiled-down list of only the real changes.
Looking at the built up list of set attribute changes compute how many of the attributes have actually changed . If loud return a boiled - down list of only the real changes .