@visactor/vchart
Version:
charts lib based @visactor/VGrammar
26 lines (22 loc) • 1 kB
JavaScript
import { PREFIX } from "../../constant/base";
import { DEFAULT_DATA_INDEX, DEFAULT_DATA_KEY } from "../../constant/data";
import { isValid } from "@visactor/vutils";
export const objFlat = (data, op) => {
var _a;
const dataCollect = (null === (_a = data[0]) || void 0 === _a ? void 0 : _a.latestData) ? data[0].latestData : data || [], result = [];
let index = 0;
return dataCollect.forEach((datum => {
const dataKeyObj = {};
let dataKey;
for (const key in datum) key === op || key.startsWith(PREFIX) || (dataKeyObj[key] = datum[key],
dataKey = isValid(dataKey) ? `${dataKey}_${datum[key]}` : `${datum[key]}`);
const dataOp = datum[op];
null == dataOp || dataOp.forEach(((d, i) => {
result.push(Object.assign({}, dataKeyObj, d, {
[DEFAULT_DATA_INDEX]: index,
[DEFAULT_DATA_KEY]: `${dataKey}_${i}`
})), index++;
}));
})), result;
};
//# sourceMappingURL=obj-flat.js.map