lib/merge-into.js
function mergeInto(target, source) {
  var a = target;
  var b = source;

  if (a && b) {
    for (var key in b) {
      if (!(key in a)) {
        continue;
      }
      if (typeof b[key] === 'object' && !Array.isArray(b[key]) && b[key] !== null) {
        mergeInto(a[key], b[key]);
      } else {
        a[key] = b[key];
      }
    }
  }
  return a;
}
function mergeInto(target, source) {
  var a = target;
  var b = source;

  if (a && b) {
    for (var key in b) {
      if (!(key in a)) {
        continue;
      }
      if (typeof b[key] === 'object' && !Array.isArray(b[key]) && b[key] !== null) {
        mergeInto(a[key], b[key]);
      } else {
        a[key] = b[key];
      }
    }
  }
  return a;
}
function mergeInto ( target , source ) { var a = target ; var b = source ; if ( a && b ) { for ( var key in b ) { if ( ! ( key in a ) ) { continue ; } if ( typeof b [ key ] === 'object' && ! Array . isArray ( b [ key ] ) && b [ key ] !== null ) { mergeInto ( a [ key ] , b [ key ] ) ; } else { a [ key ] = b [ key ] ; } } } return a ; }
Merges properties from source into target.
target will be modified as a result of this function.

@param  {Object} target The target object to merge the source into.
Source values will override those in the target object.
@param  {Object} source The source object to get override values from.
@return {Object}        The target object (with source values merged into it)
Merges properties from source into target . target will be modified as a result of this function .