README
deepmerge
Merge the enumerable attributes of two objects deeply.
The alt
version allows for array concat as an option.
https://github.com/theogravity/deepmerge/pull/1
example
var util = require('util')
var merge = require('deepmerge-alt')
var x = { foo: { bar: 3 },
array: [ { does: 'work', too: [ 1, 2, 3 ] } ] }
var y = { foo: { baz: 4 },
quux: 5,
array: [ { does: 'work', too: [ 4, 5, 6 ] }, { really: 'yes' } ] }
console.log(util.inspect(merge(x, y), false, null))
output:
{ foo: { bar: 3, baz: 4 },
array: [ { does: 'work', too: [ 1, 2, 3, 4, 5, 6 ] }, { really: 'yes' } ],
quux: 5 }
methods
var merge = require('deepmerge')
merge(x, y, opts)
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.
options
arrays
merge
(default) - Replace array values at index. e.g.[1, 2] + [3] => [3, 2]
concat
- Push value to the bottom of the array. e.g.[1, 2] + [3] => [1, 2, 3]
install
With npm do:
npm install deepmerge-alt
For the browser, you can install with bower:
bower install deepmerge-alt
test
With npm do:
npm test