signoz/frontend/src/lib/newQueryBuilder/transformQueryBuilderDataModel.ts

31 lines
948 B
TypeScript
Raw Normal View History

import {
initialFormulaBuilderFormValues,
initialQueryBuilderFormValues,
} from 'constants/queryBuilder';
import { FORMULA_REGEXP } from 'constants/regExp';
import {
BuilderQueryDataResourse,
IBuilderFormula,
IBuilderQuery,
} from 'types/api/queryBuilder/queryBuilderData';
import { QueryBuilderData } from 'types/common/queryBuilder';
export const transformQueryBuilderDataModel = (
data: BuilderQueryDataResourse,
): QueryBuilderData => {
const queryData: QueryBuilderData['queryData'] = [];
const queryFormulas: QueryBuilderData['queryFormulas'] = [];
Object.entries(data).forEach(([, value]) => {
if (FORMULA_REGEXP.test(value.queryName)) {
const formula = value as IBuilderFormula;
queryFormulas.push({ ...initialFormulaBuilderFormValues, ...formula });
} else {
const query = value as IBuilderQuery;
queryData.push({ ...initialQueryBuilderFormValues, ...query });
}
});
return { queryData, queryFormulas };
};