00001 var baseMerge = require('./_baseMerge'), 00002 isObject = require('./isObject'); 00003 00018 function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { 00019 if (isObject(objValue) && isObject(srcValue)) { 00020 // Recursively merge objects and arrays (susceptible to call stack limits). 00021 stack.set(srcValue, objValue); 00022 baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); 00023 stack['delete'](srcValue); 00024 } 00025 return objValue; 00026 } 00027 00028 module.exports = customDefaultsMerge;