import { useMemo } from 'react'; import { range } from 'd3'; const useGenerateTicks = ({ maxValue, minValue, step, }: { maxValue?: number; minValue?: number; step?: number; }) => { const maxValueOrZero = maxValue || 0; const minValueOrZero = minValue || 0; const ticks = useMemo(() => { const generatedTicks = range(minValueOrZero, maxValueOrZero, step); if (generatedTicks[generatedTicks.length - 1] !== maxValueOrZero) { generatedTicks.push(maxValueOrZero); } return generatedTicks; }, [maxValueOrZero, minValueOrZero, step]); return ticks; }; export default useGenerateTicks;