07625956a68e70f9c78ff3a331198139bdfc2447
[yaffs-website] / node_modules / grunt-legacy-log-utils / node_modules / lodash / merge.js
1 var baseMerge = require('./_baseMerge'),
2     createAssigner = require('./_createAssigner');
3
4 /**
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.
11  *
12  * **Note:** This method mutates `object`.
13  *
14  * @static
15  * @memberOf _
16  * @category Object
17  * @param {Object} object The destination object.
18  * @param {...Object} [sources] The source objects.
19  * @returns {Object} Returns `object`.
20  * @example
21  *
22  * var users = {
23  *   'data': [{ 'user': 'barney' }, { 'user': 'fred' }]
24  * };
25  *
26  * var ages = {
27  *   'data': [{ 'age': 36 }, { 'age': 40 }]
28  * };
29  *
30  * _.merge(users, ages);
31  * // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] }
32  */
33 var merge = createAssigner(function(object, source, srcIndex) {
34   baseMerge(object, source, srcIndex);
35 });
36
37 module.exports = merge;