objectDiff.diff({x: 1}, {x: 2}) -> { changed: "object change", value: { x: { changed: "primitive change", removed: 1, added: 2 } } } objectDiff.diff({z: {x: 1}}, {z: {y: 2}}) -> { changed: "object change", value: { z: { changed: "object change", value: { x: { changed: "removed", value: 1 }, y: { changed: "added", value: 2 } } } } }
Same as objectDiff.diff, but compares only objects' own properties
function A(){} A.prototype.x = 1 objectDiff.diff({x: 1}, new A) -> {changed: "equal", value: {x: 1}} objectDiff.diffOwnProperties({x: 1}, new A) -> {changed: "object change", value: {x: {changed: "removed", value: 1}}}
Used on the demo page.
objectDiff provides toEqualProperties
and toEqualOwnProperties
matchers for Jasmine.
See example spec.