Files
ETB/ETB-FrontEnd/node_modules/@mui/x-charts/esm/internals/dateHelpers.js
Iliyan Angelov 306b20e24a Frontend start
2025-09-14 00:54:48 +03:00

21 lines
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()}`;
}