UNPKG

@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
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 = { [ChartType.BarChart.toUpperCase()]: pipelineBar, [ChartType.LineChart.toUpperCase()]: pipelineLine, [ChartType.AreaChart.toUpperCase()]: pipelineLine, [ChartType.PieChart.toUpperCase()]: pipelinePie, [ChartType.WordCloud.toUpperCase()]: pipelineWordCloud, [ChartType.ScatterPlot.toUpperCase()]: pipelineScatterPlot, [ChartType.DynamicBarChart.toUpperCase()]: pipelineRankingBar, [ChartType.FunnelChart.toUpperCase()]: pipelineFunnel, [ChartType.DualAxisChart.toUpperCase()]: pipelineDualAxis, [ChartType.RoseChart.toUpperCase()]: pipelineRose, [ChartType.RadarChart.toUpperCase()]: pipelineRadar, [ChartType.SankeyChart.toUpperCase()]: pipelineSankey, [ChartType.WaterFallChart.toUpperCase()]: pipelineWaterfall, [ChartType.BoxPlot.toUpperCase()]: pipelineBoxPlot, [ChartType.LiquidChart.toUpperCase()]: pipelineLiquid, [ChartType.LinearProgress.toUpperCase()]: pipelineLinearProgress, [ChartType.CircularProgress.toUpperCase()]: pipelineCircularProgress, [ChartType.BubbleCirclePacking.toUpperCase()]: pipelineBubbleCirclePacking, [ChartType.MapChart.toUpperCase()]: pipelineMapChart, [ChartType.RangeColumnChart.toUpperCase()]: pipelineRangeColumn, [ChartType.SunburstChart.toUpperCase()]: pipelineSunburst, [ChartType.TreemapChart.toUpperCase()]: pipelineTreemap, [ChartType.Gauge.toUpperCase()]: pipelineGauge, [ChartType.BasicHeatMap.toUpperCase()]: pipelineBasicHeatMap, [ChartType.VennChart.toUpperCase()]: 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