function diffProps(props, oldProps) {
  // First check if any props have changed (ignore props that will be examined separately)
  const propsChangedReason = compareProps({
    newProps: props,
    oldProps,
    propTypes: getPropTypes(props),
    ignoreProps: {data: null, updateTriggers: null}
  });

  // Now check if any data related props have changed
  const dataChangedReason = diffDataProps(props, oldProps);

  // Check update triggers to determine if any attributes need regeneration
  // Note - if data has changed, all attributes will need regeneration, so skip this step
  let updateTriggersChangedReason = false;
  if (!dataChangedReason) {
    updateTriggersChangedReason = diffUpdateTriggers(props, oldProps);
  }

  return {
    dataChanged: dataChangedReason,
    propsChanged: propsChangedReason,
    updateTriggersChanged: updateTriggersChangedReason
  };
}
// Returns an object with "change flags", either false or strings indicating reason for change
Returns an object with "change flags", either false or strings indicating reason for change
Returns an object with " change flags " either false or strings indicating reason for change
function diffProps(props, oldProps) {
  const propsChangedReason = compareProps({
    newProps: props,
    oldProps,
    propTypes: getPropTypes(props),
    ignoreProps: {data: null, updateTriggers: null}
  });
  const dataChangedReason = diffDataProps(props, oldProps);
  let updateTriggersChangedReason = false;
  if (!dataChangedReason) {
    updateTriggersChangedReason = diffUpdateTriggers(props, oldProps);
  }
  return {
    dataChanged: dataChangedReason,
    propsChanged: propsChangedReason,
    updateTriggersChanged: updateTriggersChangedReason
  };
}
function diffProps ( props , oldProps ) { const propsChangedReason = compareProps ( { newProps : props , oldProps , propTypes : getPropTypes ( props ) , ignoreProps : { data : null , updateTriggers : null } } ) ; const dataChangedReason = diffDataProps ( props , oldProps ) ; let updateTriggersChangedReason = false ; if ( ! dataChangedReason ) { updateTriggersChangedReason = diffUpdateTriggers ( props , oldProps ) ; } return { dataChanged : dataChangedReason , propsChanged : propsChangedReason , updateTriggersChanged : updateTriggersChangedReason } ; }
Returns an object with "change flags", either false or strings indicating reason for change
Returns an object with " change flags " either false or strings indicating reason for change
// First check if any props have changed (ignore props that will be examined separately) // Now check if any data related props have changed // Check update triggers to determine if any attributes need regeneration // Note - if data has changed, all attributes will need regeneration, so skip this step