function updateAttributes(el, prevProps, props) {
  var propName;

  if (!props || prevProps === props) {
    return;
  }

  // Set attributes.
  for (propName in props) {
    if (!filterNonEntityPropNames(propName)) {
      continue;
    }
    doSetAttribute(el, props, propName);
  }

  // See if attributes were removed.
  if (prevProps) {
    for (propName in prevProps) {
      if (!filterNonEntityPropNames(propName)) {
        continue;
      }
      if (props[propName] === undefined) {
        el.removeAttribute(propName);
      }
    }
  }
}
function updateAttributes(el, prevProps, props) {
  var propName;

  if (!props || prevProps === props) {
    return;
  }

  
  for (propName in props) {
    if (!filterNonEntityPropNames(propName)) {
      continue;
    }
    doSetAttribute(el, props, propName);
  }

  
  if (prevProps) {
    for (propName in prevProps) {
      if (!filterNonEntityPropNames(propName)) {
        continue;
      }
      if (props[propName] === undefined) {
        el.removeAttribute(propName);
      }
    }
  }
}
function updateAttributes ( el , prevProps , props ) { var propName ; if ( ! props || prevProps === props ) { return ; } // Set attributes. for ( propName in props ) { if ( ! filterNonEntityPropNames ( propName ) ) { continue ; } doSetAttribute ( el , props , propName ) ; } // See if attributes were removed. if ( prevProps ) { for ( propName in prevProps ) { if ( ! filterNonEntityPropNames ( propName ) ) { continue ; } if ( props [ propName ] === undefined ) { el . removeAttribute ( propName ) ; } } } }
Handle diffing of previous and current attributes.

@param {Element} el
@param {Object|null} prevProps - Previous props map.
@param {Object} props - Current props map.
Handle diffing of previous and current attributes .