code: function getDomainFromData(props, axis) {
    const { polar, startAngle = 0, endAngle = 360 } = props;
    const tickValues = getTickArray(props);
    if (!Array.isArray(tickValues)) {
      return undefined;
    }
    const minDomain = Domain.getMinFromProps(props, axis);
    const maxDomain = Domain.getMaxFromProps(props, axis);
    const tickStrings = stringTicks(props);
    const ticks = tickValues.map((value) => +value);
    const defaultMin = tickStrings ? 1 : Collection.getMinValue(ticks);
    const defaultMax = tickStrings ? tickValues.length : Collection.getMaxValue(ticks);
    const min = minDomain !== undefined ? minDomain : defaultMin;
    const max = maxDomain !== undefined ? maxDomain : defaultMax;
    const initialDomain = Domain.getDomainFromMinMax(min, max);
    const domain =
      polar && axis === "x" && Math.abs(startAngle - endAngle) === 360
        ? Domain.getSymmetricDomain(initialDomain, ticks)
        : initialDomain;
    if (isVertical(props) && !polar) {
      domain.reverse();
    }
    return domain;
  }
docs: Returns a domain based tickValues
  @param {Object} props: the props object
  @param {String} axis: either x or y
  @returns {Array} returns a domain from tickValues
   eslint-disable-next-line max-statements