mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-10-15 10:21:27 +08:00
28 lines
858 B
TypeScript
28 lines
858 B
TypeScript
import { 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 mapQueryDataFromApi = (
|
|
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(formula);
|
|
} else {
|
|
const query = value as IBuilderQuery;
|
|
queryData.push({ ...initialQueryBuilderFormValues, ...query });
|
|
}
|
|
});
|
|
|
|
return { queryData, queryFormulas };
|
|
};
|