whole_func_string: 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)
    };
  }
func_code_string: 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)
    };
  }
func_documentation_string: 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`.