1 var baseMerge = require('./_baseMerge'),
2 createAssigner = require('./_createAssigner');
5 * Recursively merges own and inherited enumerable properties of source
6 * objects into the destination object, skipping source properties that resolve
7 * to `undefined`. Array and plain object properties are merged recursively.
8 * Other objects and value types are overridden by assignment. Source objects
9 * are applied from left to right. Subsequent sources overwrite property
10 * assignments of previous sources.
12 * **Note:** This method mutates `object`.
17 * @param {Object} object The destination object.
18 * @param {...Object} [sources] The source objects.
19 * @returns {Object} Returns `object`.
23 * 'data': [{ 'user': 'barney' }, { 'user': 'fred' }]
27 * 'data': [{ 'age': 36 }, { 'age': 40 }]
30 * _.merge(users, ages);
31 * // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] }
33 var merge = createAssigner(function(object, source, srcIndex) {
34 baseMerge(object, source, srcIndex);
37 module.exports = merge;