Initial commit
[yaffs-website] / node_modules / grunt-contrib-watch / node_modules / globule / node_modules / lodash / defaultsDeep.js
1 var apply = require('./_apply'),
2     baseRest = require('./_baseRest'),
3     mergeDefaults = require('./_mergeDefaults'),
4     mergeWith = require('./mergeWith');
5
6 /**
7  * This method is like `_.defaults` except that it recursively assigns
8  * default properties.
9  *
10  * **Note:** This method mutates `object`.
11  *
12  * @static
13  * @memberOf _
14  * @since 3.10.0
15  * @category Object
16  * @param {Object} object The destination object.
17  * @param {...Object} [sources] The source objects.
18  * @returns {Object} Returns `object`.
19  * @see _.defaults
20  * @example
21  *
22  * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });
23  * // => { 'a': { 'b': 2, 'c': 3 } }
24  */
25 var defaultsDeep = baseRest(function(args) {
26   args.push(undefined, mergeDefaults);
27   return apply(mergeWith, undefined, args);
28 });
29
30 module.exports = defaultsDeep;