@mui/x-charts
Version:
The community edition of MUI X Charts components.
21 lines (20 loc) • 830 B
JavaScript
import { scaleTime } from '@mui/x-charts-vendor/d3-scale';
/**
* Checks if the provided data array contains Date objects.
* @param data The data array to check.
* @returns A type predicate indicating if the data is an array of Date objects.
*/
export const isDateData = data => data?.[0] instanceof Date;
/**
* Creates a formatter function for date values.
* @param data The data array containing Date or NumberValue objects.
* @param range The range for the time scale.
* @param tickNumber (Optional) The number of ticks for formatting.
* @returns A formatter function for date values.
*/
export function createDateFormatter(data, range, tickNumber) {
const timeScale = scaleTime(data, range);
return (v, {
location
}) => location === 'tick' ? timeScale.tickFormat(tickNumber)(v) : `${v.toLocaleString()}`;
}