import { get } from 'lodash';
export function baseFixToChart(value) {
return {
x: value[0],
y: parseFloat(parseFloat(value[1]).toFixed(2)),
};
}
export function handleResponses(
responses,
typeKey,
deviceKey,
modifyKeys = []
) {
const ret = [];
responses.forEach((response, idx) => {
ret.push(...handleResponse(response, typeKey, deviceKey, modifyKeys[idx]));
});
return ret;
}
export function handleResponse(response, typeKey, deviceKey, modifyType) {
const { data } = response;
const ret = [];
data.result.forEach((result) => {
const values =
result.values || result.value.some(Array.isArray)
? result.value
: [result.value] || [];
values.forEach((value) => {
const item = {
...baseFixToChart(value),
};
if (typeKey) {
item.type = get(result.metric, typeKey);
}
if (deviceKey) {
item.device = get(result.metric, deviceKey);
}
if (modifyType) {
item.type = modifyType;
}
ret.push(item);
});
});
return ret;
}