Version 1
[yaffs-website] / node_modules / uncss / node_modules / lodash / defaultsDeep.js
1 var apply = require('./internal/apply'),
2     mergeDefaults = require('./internal/mergeDefaults'),
3     mergeWith = require('./mergeWith'),
4     rest = require('./rest');
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  * @category Object
15  * @param {Object} object The destination object.
16  * @param {...Object} [sources] The source objects.
17  * @returns {Object} Returns `object`.
18  * @example
19  *
20  * _.defaultsDeep({ 'user': { 'name': 'barney' } }, { 'user': { 'name': 'fred', 'age': 36 } });
21  * // => { 'user': { 'name': 'barney', 'age': 36 } }
22  *
23  */
24 var defaultsDeep = rest(function(args) {
25   args.push(undefined, mergeDefaults);
26   return apply(mergeWith, undefined, args);
27 });
28
29 module.exports = defaultsDeep;