From 8ab223d79fe4ce50b4e06b3e6d532fc3b07cc66a Mon Sep 17 00:00:00 2001 From: Ryan McKinley Date: Fri, 2 Apr 2021 16:14:42 -0700 Subject: [PATCH] Reducers: minor reducer cleanup (#32656) --- .../grafana-data/src/transformations/fieldReducer.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/grafana-data/src/transformations/fieldReducer.ts b/packages/grafana-data/src/transformations/fieldReducer.ts index 604474f8691..c2ab0c639df 100644 --- a/packages/grafana-data/src/transformations/fieldReducer.ts +++ b/packages/grafana-data/src/transformations/fieldReducer.ts @@ -1,7 +1,7 @@ // Libraries import isNumber from 'lodash/isNumber'; -import { NullValueMode, Field, FieldState, FieldCalcs } from '../types/index'; +import { NullValueMode, Field, FieldState, FieldCalcs, FieldType } from '../types/index'; import { Registry, RegistryItem } from '../utils/Registry'; export enum ReducerID { @@ -260,6 +260,8 @@ export function doStandardCalcs(field: Field, ignoreNulls: boolean, nullAsZero: const data = field.values; calcs.count = data.length; + const isNumberField = field.type === FieldType.number || FieldType.time; + for (let i = 0; i < data.length; i++) { let currentValue = data.get(i); @@ -278,13 +280,14 @@ export function doStandardCalcs(field: Field, ignoreNulls: boolean, nullAsZero: } } - if (currentValue !== null && currentValue !== undefined) { + if (currentValue != null) { + // null || undefined const isFirst = calcs.firstNotNull === null; if (isFirst) { calcs.firstNotNull = currentValue; } - if (isNumber(currentValue)) { + if (isNumberField) { calcs.sum += currentValue; calcs.allIsNull = false; calcs.nonNullCount++;