text: import baseMerge from './_baseMerge';
  import createAssigner from './_createAssigner';
  
  /**
   * This method is like `_.assign` except that it recursively merges own and
   * inherited enumerable properties of source objects into the destination
   * object. Source properties that resolve to `undefined` are skipped if a
   * destination value exists. Array and plain object properties are merged
   * recursively.Other objects and value types are overridden by assignment.
   * Source objects are applied from left to right. Subsequent sources
   * overwrite property assignments of previous sources.
   *
   * **Note:** This method mutates `object`.
   *
   * @static
   * @memberOf _
   * @category Object
   * @param {Object} object The destination object.
   * @param {...Object} [sources] The source objects.
   * @returns {Object} Returns `object`.
   * @example
   *
   * var users = {
   *   'data': [{ 'user': 'barney' }, { 'user': 'fred' }]
   * };
   *
   * var ages = {
   *   'data': [{ 'age': 36 }, { 'age': 40 }]
   * };
   *
   * _.merge(users, ages);
   * // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] }
   */
  var merge = createAssigner(function(object, source, srcIndex) {
    baseMerge(object, source, srcIndex);
  });
  
  export default merge;
  