| var apply = require('./_apply'), |
| baseRest = require('./_baseRest'), |
| customDefaultsMerge = require('./_customDefaultsMerge'), |
| mergeWith = require('./mergeWith'); |
| * This method is like `_.defaults` except that it recursively assigns |
| * **Note:** This method mutates `object`. |
| * @param {Object} object The destination object. |
| * @param {...Object} [sources] The source objects. |
| * @returns {Object} Returns `object`. |
| * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); |
| * // => { 'a': { 'b': 2, 'c': 3 } } |
| var defaultsDeep = baseRest(function(args) { |
| args.push(undefined, customDefaultsMerge); |
| return apply(mergeWith, undefined, args); |
| module.exports = defaultsDeep; |