deepmerge2
Version:
A library for deep (recursive) merging of Javascript objects
77 lines (55 loc) • 1.29 kB
Markdown
deepmerge2
=========
Merge the enumerable attributes of two objects deeply.
### What's the difference between deepmerge and deepmerge2?
Reason of creating this fork is inactivity of original deepmerge plugin.
This version has several bug fixes.
example
=======
```js
var util = require('util');
var merge = require('deepmerge2');
var x = {
foo: { bar: 3 },
array: [ { does: 'work', too: [ 1, 2, 3 ] } ]
};
var y = {
quux: 5,
foo: { baz: 4 },
array: [ { does: 'work', too: [ 4, 5, 6 ] }, { really: 'yes' } ]
};
console.log(util.inspect(merge(x, y), false, null));
```
output:
```js
{
quux: 5,
foo: { bar: 3, baz: 4 },
array: [ { does: 'work', too: [ 1, 2, 3, 4, 5, 6 ] }, { really: 'yes' } ]
}
```
methods
=======
```js
var merge = require('deepmerge2');
```
merge(x, y)
-----------
Merge two objects `x` and `y` deeply, returning a new merged object with the
elements from both `x` and `y`.
If an element at the same key is present for both `x` and `y`, the value from
`y` will appear in the result.
The merge is immutable, so neither `x` nor `y` will be modified.
The merge will also merge arrays and array values.
install
=======
With [npm](http://npmjs.org) do:
```
npm install deepmerge2
```
test
====
With [npm](http://npmjs.org) do:
```
npm test
```