MCPcopy
hub / github.com/lodash/lodash / baseMerge

Function baseMerge

lodash.js:3643–3663  ·  view source on GitHub ↗

* The base implementation of `_.merge` without support for multiple sources. * * @private * @param {Object} object The destination object. * @param {Object} source The source object. * @param {number} srcIndex The index of `source`. * @param {Function} [customizer] The

(object, source, srcIndex, customizer, stack)

Source from the content-addressed store, hash-verified

3641 * counterparts.
3642 */
3643 function baseMerge(object, source, srcIndex, customizer, stack) {
3644 if (object === source) {
3645 return;
3646 }
3647 baseFor(source, function(srcValue, key) {
3648 stack || (stack = new Stack);
3649 if (isObject(srcValue)) {
3650 baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
3651 }
3652 else {
3653 var newValue = customizer
3654 ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)
3655 : undefined;
3656
3657 if (newValue === undefined) {
3658 newValue = srcValue;
3659 }
3660 assignMergeValue(object, key, newValue);
3661 }
3662 }, keysIn);
3663 }
3664
3665 /**
3666 * A specialized version of `baseMerge` for arrays and objects which performs

Callers 2

customDefaultsMergeFunction · 0.85
lodash.jsFile · 0.85

Calls 5

isObjectFunction · 0.85
baseMergeDeepFunction · 0.85
customizerFunction · 0.85
safeGetFunction · 0.85
assignMergeValueFunction · 0.85

Tested by

no test coverage detected