|
|
@@ -0,0 +1,30 @@
|
|
|
+import { PanelData, NullValueMode, SingleStatValueInfo } from '../types';
|
|
|
+import { processTimeSeries } from './processTimeSeries';
|
|
|
+
|
|
|
+export interface SingleStatProcessingOptions {
|
|
|
+ panelData: PanelData;
|
|
|
+ stat: string;
|
|
|
+}
|
|
|
+
|
|
|
+export function processSingleStatPanelData(options: SingleStatProcessingOptions): SingleStatValueInfo[] {
|
|
|
+ const { panelData, stat } = options;
|
|
|
+
|
|
|
+ if (panelData.timeSeries) {
|
|
|
+ const timeSeries = processTimeSeries({
|
|
|
+ timeSeries: panelData.timeSeries,
|
|
|
+ nullValueMode: NullValueMode.Null,
|
|
|
+ });
|
|
|
+
|
|
|
+ return timeSeries.map((series, index) => {
|
|
|
+ const value = stat !== 'name' ? series.stats[stat] : series.label;
|
|
|
+
|
|
|
+ return {
|
|
|
+ value: value,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ } else if (panelData.tableData) {
|
|
|
+ throw { message: 'Panel data not supported' };
|
|
|
+ }
|
|
|
+
|
|
|
+ return [];
|
|
|
+}
|