lib/util/deepAssign.js
function deepAssign (target, source) {
  var keys = Object.keys(source);

  for (var i = 0; i < keys.length; i++) {
    var key = keys[i];
    var oldValue = target[key];
    var newValue = source[key];

    target[key] = deepClone(newValue, oldValue);
  }

  return target;
}
function deepAssign (target, source) {
  var keys = Object.keys(source);

  for (var i = 0; i < keys.length; i++) {
    var key = keys[i];
    var oldValue = target[key];
    var newValue = source[key];

    target[key] = deepClone(newValue, oldValue);
  }

  return target;
}
function deepAssign ( target , source ) { var keys = Object . keys ( source ) ; for ( var i = 0 ; i < keys . length ; i ++ ) { var key = keys [ i ] ; var oldValue = target [ key ] ; var newValue = source [ key ] ; target [ key ] = deepClone ( newValue , oldValue ) ; } return target ; }
Deeply assigns the properties of the source object to the target object

@param {object} target
@param {object} source
Deeply assigns the properties of the source object to the target object