packages/victory-core/src/victory-util/transitions.js
function getNodeTransitions(oldData, nextData) {
  const oldDataKeyed = oldData && getKeyedData(oldData);
  const nextDataKeyed = nextData && getKeyedData(nextData);

  return {
    entering: oldDataKeyed && getKeyedDataDifference(nextDataKeyed, oldDataKeyed),
    exiting: nextDataKeyed && getKeyedDataDifference(oldDataKeyed, nextDataKeyed)
  };
}
function getNodeTransitions(oldData, nextData) {
  const oldDataKeyed = oldData && getKeyedData(oldData);
  const nextDataKeyed = nextData && getKeyedData(nextData);

  return {
    entering: oldDataKeyed && getKeyedDataDifference(nextDataKeyed, oldDataKeyed),
    exiting: nextDataKeyed && getKeyedDataDifference(oldDataKeyed, nextDataKeyed)
  };
}
function getNodeTransitions ( oldData , nextData ) { const oldDataKeyed = oldData && getKeyedData ( oldData ) ; const nextDataKeyed = nextData && getKeyedData ( nextData ) ; return { entering : oldDataKeyed && getKeyedDataDifference ( nextDataKeyed , oldDataKeyed ) , exiting : nextDataKeyed && getKeyedDataDifference ( oldDataKeyed , nextDataKeyed ) } ; }
Calculate which data-points exist in oldData and not nextData -
these are the `exiting` data-points.  Also calculate which
data-points exist in nextData and not oldData - these are the
`entering` data-points.

@param  {Array} oldData   this.props.data Array
@param  {Array} nextData  this.props.data Array

@return {Object}          Object with `entering` and `exiting` properties.
entering[datum.key] will be true if the data is
entering, and similarly for `exiting`.
Calculate which data - points exist in oldData and not nextData - these are the exiting data - points . Also calculate which data - points exist in nextData and not oldData - these are the entering data - points .