node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey ยป


Symmetry for Backbone.js Build Status

Creating diffs for Backbone.js models with Symmetry is easy. Applying them, however, is not. This module implements a best effort patch function.

Simply apply a patch to a model or collection, and events are fired:

model = new Backbone.Model();
SymmetryBB.patch(model, patch);

For nested objects, either set your models and collections in advance:

scope = {
    people: new Backbone.Collection()
SymmetryBB.patch(scope, patch);

Or replace objects and arrays with similar models and collections:

scope = {
    people: []
scope.people = new Backbone.Collection(scope.people);
SymmetryBB.patch(scope, patch);

While traversing, patch will try to preserve existing models and collections, firing events on them as they change.



In node.js, install using NPM:

npm install symmetry-bb

In the browser, simply include patch.js.

Hacking the code

git clone
cd symmetry-bb
npm install
npm test