function tickCount(scale, count, minStep) {
    let step;
    if (isNumber$1(count)) {
      if (scale.bins) {
        count = Math.max(count, scale.bins.length);
      }
      if (minStep != null) {
        count = Math.min(count, Math.floor(span(scale.domain()) / minStep || 1) + 1);
      }
    }
    if (isObject(count)) {
      step = count.step;
      count = count.interval;
    }
    if (isString(count)) {
      count = scale.type === Time ? timeInterval(count) : scale.type == UTC ? utcInterval(count) : error('Only time and utc scales accept interval strings.');
      if (step) count = count.every(step);
    }
    return count;
  }
Determine the tick count or interval function.
@param {Scale} scale - The scale for which to generate tick values.
@param {*} count - The desired tick count or interval specifier.
@param {number} minStep - The desired minimum step between tick values.
@return {*} - The tick count or interval function.