Sha256: 50cac43f42155da2aab6bcf4ba0352b9fbcf932de68c1f44f58f43fee5c00940

Contents?: true

Size: 1.25 KB

Versions: 60

Compression:

Stored size: 1.25 KB

Contents

var Stack = require('./_Stack'),
    assignMergeValue = require('./_assignMergeValue'),
    baseFor = require('./_baseFor'),
    baseMergeDeep = require('./_baseMergeDeep'),
    isObject = require('./isObject'),
    keysIn = require('./keysIn');

/**
 * 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 customize merged values.
 * @param {Object} [stack] Tracks traversed source values and their merged
 *  counterparts.
 */
function baseMerge(object, source, srcIndex, customizer, stack) {
  if (object === source) {
    return;
  }
  baseFor(source, function(srcValue, key) {
    if (isObject(srcValue)) {
      stack || (stack = new Stack);
      baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
    }
    else {
      var newValue = customizer
        ? customizer(object[key], srcValue, (key + ''), object, source, stack)
        : undefined;

      if (newValue === undefined) {
        newValue = srcValue;
      }
      assignMergeValue(object, key, newValue);
    }
  }, keysIn);
}

module.exports = baseMerge;

Version data entries

60 entries across 59 versions & 6 rubygems

Version Path
sumomo-0.10.8 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.10.4 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.10.3 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.10.2 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.10.1 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.10.0 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.9.0 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.8.22 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.8.21 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.8.20 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.8.17 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.8.16 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.8.15 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.8.14 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.8.13 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.8.12 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.8.11 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.8.10 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.8.9 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js
sumomo-0.8.8 data/sumomo/api_modules/node_modules/lodash/_baseMerge.js