@visactor/vmind
Version:
<div align="center"> <a href="https://github.com/VisActor#gh-light-mode-only" target="_blank"> <img alt="VisActor Logo" width="200" src="https://github.com/VisActor/.github/blob/main/profile/logo_500_200_light.svg"/> </a> <a href="https://githu
104 lines (73 loc) • 4.13 kB
JavaScript
import { ChartType } from "../../../types";
import { estimateVideoTime } from "../utils";
import { llmChartTypeMap } from "./chartTypeUtils";
import { pipelineBar } from "./transformers/bar";
import { pipelineBoxPlot } from "./transformers/boxplot";
import { pipelineBubbleCirclePacking } from "./transformers/circlePacking";
import { pipelineCircularProgress } from "./transformers/circularProgress";
import { revisedVChartType, theme } from "./transformers/common";
import { pipelineDualAxis } from "./transformers/dualAxis";
import { pipelineFunnel } from "./transformers/funnel";
import { pipelineGauge } from "./transformers/gauge";
import { pipelineBasicHeatMap } from "./transformers/heatmap";
import { pipelineLine } from "./transformers/line";
import { pipelineLinearProgress } from "./transformers/linearProgress";
import { pipelineLiquid } from "./transformers/liquid";
import { pipelineMapChart } from "./transformers/map";
import { pipelinePie } from "./transformers/pie";
import { pipelineRadar } from "./transformers/radar";
import { pipelineRangeColumn } from "./transformers/rangeColumn";
import { pipelineRankingBar } from "./transformers/rankingBar";
import { pipelineRose } from "./transformers/rose";
import { pipelineSankey } from "./transformers/sankey";
import { pipelineScatterPlot } from "./transformers/scatter";
import { fomartSimpleSpec } from "./transformers/simpleSpec";
import { pipelineSunburst } from "./transformers/sunburst";
import { pipelineTreemap } from "./transformers/treemap";
import { pipelineVenn } from "./transformers/venn";
import { pipelineWaterfall } from "./transformers/waterfall";
import { pipelineWordCloud } from "./transformers/wordcloud";
const pipelineMap = {
[]: pipelineBar,
[]: pipelineLine,
[]: pipelineLine,
[]: pipelinePie,
[]: pipelineWordCloud,
[]: pipelineScatterPlot,
[]: pipelineRankingBar,
[]: pipelineFunnel,
[]: pipelineDualAxis,
[]: pipelineRose,
[]: pipelineRadar,
[]: pipelineSankey,
[]: pipelineWaterfall,
[]: pipelineBoxPlot,
[]: pipelineLiquid,
[]: pipelineLinearProgress,
[]: pipelineCircularProgress,
[]: pipelineBubbleCirclePacking,
[]: pipelineMapChart,
[]: pipelineRangeColumn,
[]: pipelineSunburst,
[]: pipelineTreemap,
[]: pipelineGauge,
[]: pipelineBasicHeatMap,
[]: pipelineVenn
}, beforePipe = context => ({
spec: {}
}), afterPipe = context => {
const {spec: spec, chartType: chartType, totalTime: totalTime} = context;
return {
spec: spec,
chartType: llmChartTypeMap[chartType],
time: estimateVideoTime(chartType, spec, totalTime ? 1e3 * totalTime : void 0)
};
};
export const getChartSpecWithContext = context => {
const {chartType: chartType} = context, pipline = pipelineMap[chartType.toUpperCase()] ? pipelineMap[chartType.toUpperCase()] : [], chartSpecPipelines = [ beforePipe, revisedVChartType, ...pipline, theme, fomartSimpleSpec, afterPipe ];
let newContext = Object.assign({}, context);
return chartSpecPipelines.forEach((func => {
newContext = Object.assign(Object.assign({}, newContext), func(newContext));
})), newContext;
};
//# sourceMappingURL=index.js.map