1 var Stack = require(
'./_Stack'),
2 assignMergeValue = require(
'./_assignMergeValue'),
3 baseFor = require(
'./_baseFor'),
4 baseMergeDeep = require(
'./_baseMergeDeep'),
5 isObject = require(
'./isObject'),
6 keysIn = require(
'./keysIn');
19 function baseMerge(
object, source, srcIndex, customizer, stack) {
20 if (
object === source) {
23 baseFor(source,
function(srcValue, key) {
24 if (isObject(srcValue)) {
25 stack || (stack =
new Stack);
26 baseMergeDeep(
object, source, key, srcIndex, baseMerge, customizer, stack);
29 var newValue = customizer
30 ? customizer(
object[key], srcValue, (key +
''),
object, source, stack)
33 if (newValue === undefined) {
36 assignMergeValue(
object, key, newValue);
41 module.exports = baseMerge;