@visactor/vchart
Version:
charts lib based @visactor/VGrammar
20 lines (17 loc) • 940 B
JavaScript
import { isArray, isFunction, isValid } from "@visactor/vutils";
import { BOX_PLOT_OUTLIER_VALUE_FIELD } from "../../constant/box-plot";
export const foldOutlierData = (data, op) => {
const result = [], options = isFunction(op) ? op() : op, {outliersField: outliersField, dimensionField: dimensionField, seriesField: seriesField} = options;
return (data[0].latestData || []).forEach((d => {
const rawOutlierValues = d[outliersField], outlierValues = isArray(rawOutlierValues) ? rawOutlierValues : [ rawOutlierValues ];
result.push(...outlierValues.map((v => {
const resData = {
[BOX_PLOT_OUTLIER_VALUE_FIELD]: v
};
return dimensionField.forEach((field => {
resData[field] = d[field];
})), isValid(seriesField) && (resData[seriesField] = d[seriesField]), resData;
})));
})), result;
};
//# sourceMappingURL=box-plot.js.map