function merge(to, from) {
  Object.keys(from).forEach(function (key) {
    if (SPECIAL_PROPERTIES.includes(key)) {
      return;
    }

    if (typeof to[key] === 'undefined') {
      to[key] = from[key];
    } else {
      if (isObject(from[key])) merge(to[key], from[key]);else to[key] = from[key];
    }
  });
}
/**
 * Merges 'from' into 'to' without overwriting existing properties.
 */
Merges 'from' into 'to' without overwriting existing properties.
Merges ' from ' into ' to ' without overwriting existing properties .
function merge(to, from) {
  Object.keys(from).forEach(function (key) {
    if (SPECIAL_PROPERTIES.includes(key)) {
      return;
    }
    if (typeof to[key] === 'undefined') {
      to[key] = from[key];
    } else {
      if (isObject(from[key])) merge(to[key], from[key]);else to[key] = from[key];
    }
  });
}
function merge ( to , from ) { Object . keys ( from ) . forEach ( function ( key ) { if ( SPECIAL_PROPERTIES . includes ( key ) ) { return ; } if ( typeof to [ key ] === 'undefined' ) { to [ key ] = from [ key ] ; } else { if ( isObject ( from [ key ] ) ) merge ( to [ key ] , from [ key ] ) ; else to [ key ] = from [ key ] ; } } ) ; }
Merges 'from' into 'to' without overwriting existing properties.
Merges ' from ' into ' to ' without overwriting existing properties .