* 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 function to custom
(object, source, srcIndex, customizer, stack)
| 51746 | * counterparts. |
| 51747 | */ |
| 51748 | function baseMerge(object, source, srcIndex, customizer, stack) { |
| 51749 | if (object === source) { |
| 51750 | return; |
| 51751 | } |
| 51752 | baseFor(source, function (srcValue, key) { |
| 51753 | if (isObject(srcValue)) { |
| 51754 | stack || (stack = new Stack()); |
| 51755 | baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); |
| 51756 | } else { |
| 51757 | var newValue = customizer ? customizer(object[key], srcValue, key + '', object, source, stack) : undefined; |
| 51758 | |
| 51759 | if (newValue === undefined) { |
| 51760 | newValue = srcValue; |
| 51761 | } |
| 51762 | assignMergeValue(object, key, newValue); |
| 51763 | } |
| 51764 | }, keysIn); |
| 51765 | } |
| 51766 | |
| 51767 | module.exports = baseMerge; |
| 51768 |
no test coverage detected