Returns a domain in the form of a two element array given a min and max value.
@param {Number|Date} min: the props object
@param {Number|Date} max: the current axis
@returns {Array} the minDomain based on props
function getDomainFromMinMax(min, max) {
  const getSinglePointDomain = (val) => {
    // d3-scale does not properly resolve very small differences.
    // eslint-disable-next-line no-magic-numbers
    const verySmallNumber = val === 0 ? 2 * Math.pow(10, -10) : Math.pow(10, -10);
    const verySmallDate = 1;
    const minVal = val instanceof Date ? new Date(+val - verySmallDate) : +val - verySmallNumber;
    const maxVal = val instanceof Date ? new Date(+val + verySmallDate) : +val + verySmallNumber;
    return val === 0 ? [0, maxVal] : [minVal, maxVal];
  };
  return +min === +max ? getSinglePointDomain(max) : [min, max];
}