All files / types/frontend chart.ts

0% Statements 0/0
0% Branches 1/1
0% Functions 1/1
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36                                                                       
import {
  Dispatch, SetStateAction
} from 'react';
 
import { GetMetricsApi } from '@/types/api/metrics';
 
type PossibleChartUnits = 'Count' | 'Milliseconds' | 'Seconds';
 
interface BaseChart {
  title: string;
  body: GetMetricsApi['body'];
  lazyLoad?: boolean;
}
 
export interface TowerChart extends BaseChart {
  type: 'Tower';
}
 
export interface MetricChart extends BaseChart {
  type: 'Metric';
  unit: PossibleChartUnits;
}
 
export interface TimingChart extends BaseChart {
  type: 'Timing';
  convertValue: (a: number) => number;
}
 
export type ChartConfig = TowerChart | MetricChart | TimingChart;
 
export type ChartComponentParams<T extends ChartConfig> = T & {
  shouldFetchData: boolean;
  setChartLoaded: Dispatch<SetStateAction<number>>;
  mode: string;
};