build/rekord.js
function(properties, value, equals, out)
  {
    var where = createWhere( properties, value, equals );
    var changes = out && out instanceof ModelCollection ? out : this.cloneEmpty();

    this.each(function(model)
    {
      if ( where( model ) && model.$hasChanges() )
      {
        changes.put( model.$key(), model.$getChanges() );
      }
    });

    return changes;
  }
function(properties, value, equals, out)
  {
    var where = createWhere( properties, value, equals );
    var changes = out && out instanceof ModelCollection ? out : this.cloneEmpty();

    this.each(function(model)
    {
      if ( where( model ) && model.$hasChanges() )
      {
        changes.put( model.$key(), model.$getChanges() );
      }
    });

    return changes;
  }
function ( properties , value , equals , out ) { var where = createWhere ( properties , value , equals ) ; var changes = out && out instanceof ModelCollection ? out : this . cloneEmpty ( ) ; this . each ( function ( model ) { if ( where ( model ) && model . $hasChanges ( ) ) { changes . put ( model . $key ( ) , model . $getChanges ( ) ) ; } } ) ; return changes ; }
Returns a collection of all changes for each model. The changes are keyed
into the collection by the models key. An additional where expression can
be given to only check certain models.

@method
@memberof Rekord.ModelCollection#
@param {whereInput} [properties] -
See {@link Rekord.createWhere}
@param {Any} [value] -
See {@link Rekord.createWhere}
@param {equalityCallback} [equals=Rekord.equalsStrict] -
See {@link Rekord.createWhere}
@param {Rekord.ModelCollection} [out] -
The collection to add the changes to.
@return {Rekord.ModelCollection} -
The collection with all changes to models in this collection.
@see Rekord.createWhere
@see Rekord.Model#$hasChanges
@see Rekord.Model#$getChanges
Returns a collection of all changes for each model . The changes are keyed into the collection by the models key . An additional where expression can be given to only check certain models .