jsdiff
Version:
diff objects
46 lines (29 loc) • 824 B
Markdown
# jsdiff
diff values
## Installation
npm install jsdiff
## API
### diff(a, b)
returns an object with truthy values for stuff that changed.
`diff({ a: 'foo' }, {})` -> `{ a: true }`
`diff({ a: 'foo' }, { a: 'bar' })` -> `{ a: true }`
`diff({ a: 'foo' }, { b: 'bar' })` -> `{ a: true, b: true }`
`diff({}, { b: 'foo' })` -> `{ b: true }`
`diff({ a: { b: 'foo'} }, { b: 'bar' })` -> `{ a: { b: true }, b: true }`
`diff([1, 2, 3], [1, 2, 4])` -> `[ , , true ]`
### diff.patch(d, b, model)
patch up a model using a diff.
```js
var a = { a: 'foo' }
, b = { b: 'bar', c: { deep: 'stuff' } }
diff.patch(diff(a, b), b,
{ set: console.log.bind(console, 'set')
, delete: console.log.bind(console, 'delete')
})
```
output:
```
delete [ 'a' ]
set [ 'b' ] bar
set [ 'c', 'deep' ] stuff
```