src/node/patcher/props.js
function patch(element, previous, props) {
  if (!previous && !props) {
    return props;
  }
  var name, value;
  previous = previous || {};
  props = props || {};

  for (name in previous) {
    if (previous[name] === undefined || props[name] !== undefined) {
      continue;
    }
    unset(name, element, previous);
  }
  for (name in props) {
    set(name, element, previous, props);
  }
  return props;
}
function patch(element, previous, props) {
  if (!previous && !props) {
    return props;
  }
  var name, value;
  previous = previous || {};
  props = props || {};

  for (name in previous) {
    if (previous[name] === undefined || props[name] !== undefined) {
      continue;
    }
    unset(name, element, previous);
  }
  for (name in props) {
    set(name, element, previous, props);
  }
  return props;
}
function patch ( element , previous , props ) { if ( ! previous && ! props ) { return props ; } var name , value ; previous = previous || { } ; props = props || { } ; for ( name in previous ) { if ( previous [ name ] === undefined || props [ name ] !== undefined ) { continue ; } unset ( name , element , previous ) ; } for ( name in props ) { set ( name , element , previous , props ) ; } return props ; }
Maintains state of element properties.

@param  Object element   A DOM element.
@param  Object previous  The previous state of properties.
@param  Object props     The properties to match on.
@return Object props     The element properties state.
Maintains state of element properties .