@visactor/vseed 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/builder/register/chartType.d.ts +1 -0
- package/dist/index.cjs +445 -31
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +437 -32
- package/dist/index.js.map +1 -1
- package/dist/pipeline/advanced/pipeline/index.d.ts +1 -0
- package/dist/pipeline/advanced/pipeline/line copy.d.ts +2 -0
- package/dist/pipeline/advanced/pipeline/pie.d.ts +2 -0
- package/dist/pipeline/advanced/pipes/encoding/encodingPolar.d.ts +2 -0
- package/dist/pipeline/advanced/pipes/encoding/encodingXY copy.d.ts +2 -0
- package/dist/pipeline/advanced/pipes/encoding/index.d.ts +1 -0
- package/dist/pipeline/spec/pipeline/index.d.ts +1 -0
- package/dist/pipeline/spec/pipeline/pie.d.ts +2 -0
- package/dist/pipeline/spec/pipes/init/index.d.ts +1 -0
- package/dist/pipeline/spec/pipes/init/line copy.d.ts +2 -0
- package/dist/pipeline/spec/pipes/init/pie.d.ts +2 -0
- package/dist/pipeline/spec/pipes/pivotChart/index.d.ts +3 -0
- package/dist/pipeline/spec/pipes/pivotChart/pivotColumnDimensions.d.ts +2 -0
- package/dist/pipeline/spec/pipes/pivotChart/pivotGridStyle copy.d.ts +2 -0
- package/dist/pipeline/spec/pipes/pivotChart/pivotGridStyle.d.ts +2 -0
- package/dist/pipeline/spec/pipes/pivotChart/pivotRowDimensions copy.d.ts +2 -0
- package/dist/pipeline/spec/pipes/pivotChart/pivotRowDimensions.d.ts +2 -0
- package/dist/pipeline/utils/chatType.d.ts +37 -1
- package/dist/pipeline/utils/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["webpack://@visactor/vseed/./src/dataReshape/constant.ts","webpack://@visactor/vseed/./src/dataReshape/unfoldDimensions.ts","webpack://@visactor/vseed/./src/dataReshape/foldMeasures.ts","webpack://@visactor/vseed/./src/dataReshape/dataReshapeFor2D1M.ts","webpack://@visactor/vseed/./src/dataReshape/dataReshapeFor1D1M.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/reshape/reshapeTo2D1M.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/reshape/pivotReshapeTo2D1M.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/encoding/encodingXY.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/encoding/encodingYX.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/init/initAdvancedVSeed.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/init/autoMeasures.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/init/autoDimensions.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/baseConfig/baseConfig.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/theme/theme.ts","webpack://@visactor/vseed/./src/pipeline/utils/pipeline.ts","webpack://@visactor/vseed/./src/pipeline/utils/chatType.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/pivot/pivotAdapter.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/line.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/bar.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/barParallel.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/barPercent.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/column.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/columnParallel.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/columnPercent.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/area.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/areaPercent.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/dataset/dataset.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/dataset/datasetPivot.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/init/column.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/init/bar.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/init/barParallel.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/init/area.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/init/line.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/init/columnParallel.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/init/pivot.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/axes/xBand.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/axes/xLinear.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/axes/yBand.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/axes/yLinear.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/percent/percent.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/stack/stack.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/backgroundColor/background.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/tooltip/tooltip.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/label/label.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/legend/legend.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/legend/pivotLegend.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/color/color.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/pivotChart/pivotAdapter.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/pivotChart/pivotIndicators.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/line.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/column.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/columnParallel.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/columnPercent.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/bar.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/barParallel.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/barPercent.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/area.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/areaPercent.ts","webpack://@visactor/vseed/./src/builder/builder/buildAdvanced.ts","webpack://@visactor/vseed/./src/builder/builder/buildSpec.ts","webpack://@visactor/vseed/./src/builder/builder/build.ts","webpack://@visactor/vseed/./src/builder/builder/builder.ts","webpack://@visactor/vseed/./src/builder/register/chartType.ts","webpack://@visactor/vseed/./src/theme/dark.ts","webpack://@visactor/vseed/./src/theme/light.ts","webpack://@visactor/vseed/./src/builder/register/theme.ts","webpack://@visactor/vseed/./src/builder/register/all.ts","webpack://@visactor/vseed/./src/types/properties/chartType/zChartType.ts","webpack://@visactor/vseed/./src/types/properties/dataset/dataset.ts","webpack://@visactor/vseed/./src/types/properties/dimensions/dimensions.ts","webpack://@visactor/vseed/./src/types/properties/measures/measures.ts","webpack://@visactor/vseed/./src/types/properties/datasetReshapeInfo/datasetReshapeInfo.ts","webpack://@visactor/vseed/./src/types/properties/encoding/encoding.ts","webpack://@visactor/vseed/./src/types/properties/baseConfig/backgroundColor.ts","webpack://@visactor/vseed/./src/types/properties/baseConfig/label.ts","webpack://@visactor/vseed/./src/types/properties/baseConfig/color.ts","webpack://@visactor/vseed/./src/types/properties/baseConfig/tooltip.ts","webpack://@visactor/vseed/./src/types/properties/baseConfig/legend.ts","webpack://@visactor/vseed/./src/types/properties/baseConfig/baseConfig.ts","webpack://@visactor/vseed/./src/types/properties/theme/customTheme.ts","webpack://@visactor/vseed/./src/types/properties/theme/theme.ts"],"sourcesContent":["// Reshape Measures\nexport const FoldMeasureName = '__MeaName__'\nexport const FoldMeasureValue = '__MeaValue__'\nexport const FoldMeasureId = '__MeaId__'\n\n// Reshape Dimensions\nexport const UnfoldDimensionGroup = '__DimGroup__'\n\nexport const Separator = '-'\n","import type { Dataset, Datum, Dimension, Measure } from 'src/types'\nimport type { UnfoldInfo } from 'src/types'\nimport { UnfoldDimensionGroup, Separator } from './constant'\nimport { unique } from 'remeda'\n\n/**\n * TODO: 优化展开维度的性能\n * 展开指定的维度\n * @description 第一步: 根据指定的维度, 将多个维度展开为N个指标(取决于维值去重后的数量), 随后合并成一个维度.\n */\nexport const unfoldDimensions = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n unfoldStartIndex: number = 0,\n foldGroupName: string = UnfoldDimensionGroup,\n dimensionsSeparator: string = Separator,\n): {\n dataset: Dataset\n unfoldInfo: UnfoldInfo\n} => {\n if (unfoldStartIndex < 0 || unfoldStartIndex >= dimensions.length) {\n throw new Error('unfoldStartIndex is out of range')\n }\n\n const dimensionsToBeUnfolded = dimensions.slice(unfoldStartIndex)\n const unfoldInfo: UnfoldInfo = {\n groupName: foldGroupName,\n colorItems: [],\n }\n\n // 指标为空或维度为空, 则不检测\n if (dimensions.length === 0 || measures.length === 0) {\n return {\n dataset,\n unfoldInfo: {\n groupName: foldGroupName,\n colorItems: [],\n },\n }\n }\n\n const colorItems = []\n for (let i = 0; i < dataset.length; i++) {\n const datum = dataset[i]\n const colorItem = generateDimGroupName(dimensionsToBeUnfolded, datum, dimensionsSeparator)\n datum[foldGroupName] = colorItem\n colorItems.push(colorItem)\n }\n\n unfoldInfo.colorItems = unique(colorItems)\n return {\n dataset,\n unfoldInfo,\n }\n}\n\n/**\n * 生成维度组合名称\n * @param dimensionsToBeGrouped 待分组的维度\n * @param datum 数据项\n * @param dimensionsSeparator 维度分隔符\n * @returns 维度组合名称\n */\nexport const generateDimGroupName = (dimensionsToBeGrouped: Dimension[], datum: Datum, dimensionsSeparator: string) => {\n return dimensionsToBeGrouped.map((dim) => String(datum[dim.id])).join(dimensionsSeparator)\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { Dataset, FoldInfo, Measure, Measures } from 'src/types'\nimport { FoldMeasureId, FoldMeasureName, FoldMeasureValue } from './constant'\n\n/**\n * 折叠指定的指标\n * @description 合并指定的指标为1个, 无论多少个, 都能转换为1个, 取名为fold, 意为折叠后混合在一起.\n */\nexport const foldMeasures = (\n dataset: Dataset,\n measures: Measure[],\n measureId = FoldMeasureId,\n measureName = FoldMeasureName,\n measureValue = FoldMeasureValue,\n): {\n dataset: Dataset\n foldInfo: FoldInfo\n} => {\n const foldInfo: FoldInfo = {\n measureId,\n measureName,\n measureValue,\n foldMap: {},\n }\n const result: Dataset = new Array(dataset.length * measures.length) as Dataset\n let index = 0\n for (let i = 0; i < dataset.length; i++) {\n for (let j = 0; j < measures.length; j++) {\n const datum: Record<string, any> = { ...dataset[i] }\n\n const measure = measures[j]\n const { id, alias } = measure\n datum[measureId] = id\n datum[measureName] = alias\n datum[measureValue] = dataset[i][id] as unknown\n\n foldInfo.foldMap[id] = alias\n result[index++] = datum\n }\n }\n\n return {\n dataset: result,\n foldInfo,\n }\n}\n\n/**\n * 折叠指定的指标组, 至多支持2层\n * @param dataset\n * @param measures\n * @param measureId\n * @param measureName\n * @param measureValue\n * @returns\n */\nexport const foldMeasureGroups = (\n dataset: Dataset,\n measures: Required<Measures>,\n measureId = '__MeaId__',\n measureName = '__MeaName__',\n measureValue = '__MeaValue__',\n) => {\n const groups: Array<Measures> = []\n if (!measures) {\n return {\n dataset,\n }\n }\n\n // 没有分组, 直接折叠所有指标\n if (!measures.some((measure) => 'children' in measure)) {\n return foldMeasures(dataset, measures, measureId, measureName, measureValue)\n }\n\n measures.forEach((measure) => {\n if ('children' in measure && measure.children) {\n groups.push(measure.children)\n } else {\n groups.push([measure])\n }\n })\n\n // 一组返回一个dataset\n const datasetGroup = groups.map((measures) => {\n if (!measures) {\n return []\n }\n return foldMeasures(dataset, measures, measureId, measureName, measureValue)\n })\n\n return {\n datasetGroup,\n }\n}\n","import type { Dataset, Dimension, FoldInfo, Measure, UnfoldInfo } from 'src/types'\nimport { foldMeasures } from './foldMeasures'\nimport { UnfoldDimensionGroup, FoldMeasureId, FoldMeasureName, FoldMeasureValue } from './constant'\nimport { unfoldDimensions } from './unfoldDimensions'\n\nconst emptyReshapeResult: {\n dataset: Dataset\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n} = {\n dataset: [],\n foldInfo: {\n foldMap: {},\n measureId: '',\n measureName: '',\n measureValue: '',\n },\n unfoldInfo: {\n colorItems: [],\n groupName: '',\n },\n}\n/**\n * 数据重塑为2个维度1个指标\n * @param dataset\n * @param dimensions\n * @param measures\n * @returns\n */\nexport const dataReshapeFor2D1M = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n options?: {\n foldMeasureId?: string\n foldMeasureName?: string\n foldMeasureValue?: string\n unfoldDimensionGroup?: string\n },\n): {\n dataset: Dataset\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n} => {\n const {\n foldMeasureId = FoldMeasureId,\n foldMeasureName = FoldMeasureName,\n foldMeasureValue = FoldMeasureValue,\n unfoldDimensionGroup = UnfoldDimensionGroup,\n } = options || {}\n if (dimensions.length === 0 && measures.length === 0) {\n return emptyReshapeResult\n }\n\n // 合并所有指标为1个指标\n const { dataset: foldedDataset, foldInfo } = foldMeasures(\n dataset,\n measures,\n foldMeasureId,\n foldMeasureName,\n foldMeasureValue,\n )\n\n if (dimensions.length === 0) {\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n [\n { id: foldMeasureId, alias: '指标Id', location: 'dimension' },\n { id: foldMeasureName, alias: '指标名称', location: 'dimension' },\n ],\n [{ id: foldMeasureValue, alias: '指标值' }],\n 1,\n unfoldDimensionGroup,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n } else {\n // 展开指定的维度为指标\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n [...dimensions, { id: foldMeasureName, alias: '指标名称', location: 'dimension' }],\n [{ id: foldMeasureValue, alias: '指标值' }],\n 1,\n unfoldDimensionGroup,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n }\n}\n","import type { Dataset, Dimension, FoldInfo, Measure, UnfoldInfo } from 'src/types'\nimport { foldMeasures } from './foldMeasures'\nimport { UnfoldDimensionGroup, FoldMeasureId, FoldMeasureName, FoldMeasureValue } from './constant'\nimport { unfoldDimensions } from './unfoldDimensions'\n\nconst emptyReshapeResult = {\n dataset: [],\n foldInfo: {\n foldMap: {},\n measureId: '',\n measureName: '',\n measureValue: '',\n },\n unfoldInfo: {\n groupName: '',\n colorItems: [],\n },\n}\n/**\n * 数据重塑为1个维度1个指标\n * @param dataset\n * @param dimensions\n * @param measures\n * @returns\n */\nexport const dataReshapeFor1D1M = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n options?: {\n foldMeasureId?: string\n foldMeasureName?: string\n foldMeasureValue?: string\n unfoldDimensionGroup?: string\n },\n): {\n dataset: Dataset\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n} => {\n const {\n foldMeasureId = FoldMeasureId,\n foldMeasureName = FoldMeasureName,\n foldMeasureValue = FoldMeasureValue,\n unfoldDimensionGroup = UnfoldDimensionGroup,\n } = options || {}\n\n if (dimensions.length === 0 && measures.length === 0) {\n return emptyReshapeResult\n }\n\n // 合并所有指标为1个指标\n const { dataset: foldedDataset, foldInfo } = foldMeasures(\n dataset,\n measures,\n foldMeasureId,\n foldMeasureName,\n foldMeasureValue,\n )\n\n if (dimensions.length === 0) {\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n [{ id: foldMeasureName, alias: '指标名称', location: 'dimension' }],\n [{ id: foldMeasureValue, alias: '指标值' }],\n 0,\n unfoldDimensionGroup,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n } else {\n // 展开指定的维度为指标\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n [...dimensions, { id: foldMeasureName, alias: '指标名称', location: 'dimension' }],\n [{ id: foldMeasureValue, alias: '指标值' }],\n 0,\n unfoldDimensionGroup,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n }\n}\n","import { dataReshapeFor2D1M } from '../../../../dataReshape'\nimport type { AdvancedPipe } from 'src/types'\n\n/**\n * 数据重塑, 将任意维度、任意指标, 重塑为2个维度1个指标.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const reshapeTo2D1M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { dimensions, measures } = advancedVSeed\n\n if (!measures || !dimensions || !dataset) {\n return result\n }\n\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor2D1M(dataset, dimensions, measures)\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: [\n {\n id: '2D1M',\n foldInfo,\n unfoldInfo,\n },\n ],\n dimensions,\n measures,\n }\n}\n","import { FoldMeasureId, FoldMeasureName, FoldMeasureValue, UnfoldDimensionGroup } from '../../../../dataReshape/constant'\nimport { dataReshapeFor2D1M } from '../../../../dataReshape'\nimport type { AdvancedPipe, Dataset, DatasetReshapeInfo, MeasureGroup } from 'src/types'\n\n/**\n * 数据重塑为透视结构, 如果存在指标分组, 则将数据按组划分. 如果存在行列维度, 则生成行列树结构.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const pivotReshapeTo2D1M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { dimensions, measures } = advancedVSeed\n\n if (!measures || !dimensions) {\n return result\n }\n\n const measureGroups: MeasureGroup[] = []\n if (measures) {\n measures.forEach((measure: MeasureGroup) => {\n if (measure.children && measure.children.length > 0) {\n measureGroups.push(measure)\n }\n })\n }\n const newDatasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n measureGroups.forEach((measureGroup) => {\n const measures = measureGroup.children\n if (!measures) {\n return\n }\n const groupId = measureGroup.id\n const {\n dataset: newSubDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeFor2D1M(dataset, dimensions, measures, {\n foldMeasureId: FoldMeasureId + groupId,\n foldMeasureName: FoldMeasureName + groupId,\n foldMeasureValue: FoldMeasureValue + groupId,\n unfoldDimensionGroup: UnfoldDimensionGroup + groupId,\n })\n const reshapeInfo = {\n id: groupId,\n foldInfo,\n unfoldInfo,\n }\n newDatasets.push(newSubDataset)\n datasetReshapeInfo.push(reshapeInfo)\n })\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n","import type { AdvancedPipe } from 'src/types'\nimport type { Encoding } from 'src/types'\n\nexport const encodingXY: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n const { datasetReshapeInfo, dimensions } = advancedVSeed\n if (!datasetReshapeInfo || !dimensions) {\n return result\n }\n\n const encoding = datasetReshapeInfo.reduce<Encoding>((prev, cur) => {\n const { foldInfo, unfoldInfo } = cur\n\n const isSingleDimension = dimensions.length === 0\n\n const x = [isSingleDimension ? foldInfo.measureName : dimensions[0].id]\n const y = [foldInfo.measureValue]\n const group = [isSingleDimension ? foldInfo.measureName : unfoldInfo.groupName]\n const color = [foldInfo.measureName]\n\n return [\n ...prev,\n {\n x,\n y,\n group,\n color,\n },\n ] as Encoding\n }, [])\n\n return {\n ...result,\n encoding,\n }\n}\n","import type { AdvancedPipe } from 'src/types'\nimport type { Encoding } from 'src/types'\n\nexport const encodingYX: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n const { datasetReshapeInfo, dimensions } = advancedVSeed\n if (!datasetReshapeInfo || !dimensions) {\n return result\n }\n\n const encoding = datasetReshapeInfo.reduce<Encoding>((prev, cur) => {\n const { foldInfo, unfoldInfo } = cur\n\n const isSingleDimension = dimensions.length === 0\n\n const y = [isSingleDimension ? foldInfo.measureName : dimensions[0].id]\n const x = [foldInfo.measureValue]\n const group = [isSingleDimension ? foldInfo.measureName : unfoldInfo.groupName]\n const color = [foldInfo.measureName]\n\n return [\n ...prev,\n {\n x,\n y,\n group,\n color,\n },\n ] as Encoding\n }, [])\n\n return {\n ...result,\n encoding,\n }\n}\n","import type { AdvancedPipe } from 'src/types'\n\nexport const initAdvancedVSeed: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType = 'table' } = vseed\n return {\n ...advancedVSeed,\n chartType,\n }\n}\n","import type { AdvancedPipe, Datum } from 'src/types'\n\nexport const autoMeasures: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { measures, dataset } = vseed\n\n if (!dataset) {\n throw new Error('dataset is required')\n }\n\n if (dataset.length === 0) {\n return result\n }\n\n if (measures) {\n result.measures = measures\n return result\n }\n\n const top100dataset = dataset.slice(0, 100)\n\n const sample = top100dataset.reduce<Datum>((prev, cur) => {\n return { ...prev, ...cur }\n }, {})\n\n result.measures = Object.keys(sample)\n .filter((key) => {\n return top100dataset.some((item) => typeof item[key] === 'number') && !['', null, undefined].includes(key)\n })\n .map((measure) => ({\n id: measure,\n alias: measure,\n }))\n\n return result\n}\n","import type { AdvancedPipe, Datum } from 'src/types'\n\nexport const autoDimensions: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dimensions, dataset } = vseed\n\n const { measures = [] } = advancedVSeed\n if (!dataset) {\n throw new Error('dataset is required')\n }\n\n if (dataset.length === 0) {\n return result\n }\n\n if (dimensions) {\n result.dimensions = dimensions\n return result\n }\n\n const top100dataset = dataset.slice(0, 100)\n\n const sample = top100dataset.reduce<Datum>((prev, cur) => {\n return { ...prev, ...cur }\n }, {})\n\n result.dimensions = Object.keys(sample)\n .filter(\n (key) =>\n top100dataset.some((item) => typeof item[key] === 'string') &&\n !['', null, undefined].includes(key) &&\n !measures.some((measure) => measure.id === key),\n )\n .map((dim) => ({\n id: dim,\n alias: dim,\n location: 'dimension',\n }))\n\n return result\n}\n","import { pick } from 'remeda'\nimport type { AdvancedPipe, VChartBaseConfig, VTableBaseConfig } from 'src/types'\n\nexport const vchartBaseConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n\n const result = {\n ...advancedVSeed,\n }\n\n const config: VChartBaseConfig = pick(vseed, ['backgroundColor', 'color', 'label', 'legend', 'tooltip'])\n\n result.baseConfig = {\n vchart: {\n ...config,\n },\n }\n return result\n}\n\nexport const vtableBaseConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const config: VTableBaseConfig = pick(vseed, ['backgroundColor'])\n\n return {\n ...advancedVSeed,\n baseConfig: {\n vtable: {\n ...config,\n },\n },\n }\n}\n","import { clone, mergeDeep } from 'remeda'\nimport type { AdvancedPipe } from 'src/types'\n\nexport const vchartTheme: AdvancedPipe = (advancedVSeed, context) => {\n const { customTheme, vseed } = context\n const { theme = 'light' } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n if (!customTheme || !customTheme[theme]) {\n return result\n }\n const config = result.baseConfig?.vchart\n const themeConfig = customTheme?.[theme].baseConfig?.vchart\n\n if (!themeConfig || !config) {\n return result\n }\n\n const mergedConfig = mergeDeep(themeConfig, clone(config))\n result.baseConfig = {\n vchart: mergedConfig,\n }\n return result\n}\n\nexport const vtableTheme: AdvancedPipe = (advancedVSeed, context) => {\n const { customTheme, vseed } = context\n const { theme = 'light' } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n if (!customTheme || !customTheme[theme]) {\n return result\n }\n\n const config = result.baseConfig?.vtable\n const themeConfig = customTheme?.[theme].baseConfig?.vtable\n\n if (!themeConfig || !config) {\n return result\n }\n\n const mergedConfig = mergeDeep(themeConfig, clone(config))\n result.baseConfig = {\n vchart: mergedConfig,\n }\n return result\n}\n","import type { ExecPipelineType, Pipe } from 'src/types'\n\n/**\n * 执行pipeline, 每个pipe负责构建结果的一部分, 构建完成后得到完整的目标结果\n * @param pipeline pipeline数组, 每个pipe负责构建结果的一部分\n * @param initialValue 初始值\n * @param context 上下文\n * @returns 执行后的结果\n */\nexport const execPipeline: ExecPipelineType = <T, U>(\n pipeline: Array<Pipe<T, U>>,\n context: U,\n initialValue: Partial<T> = {},\n): T => {\n const result = pipeline.reduce((prev, cur) => {\n return cur(prev, context)\n }, initialValue)\n return result as T\n}\n","import type { ChartType } from 'src/types'\n\nexport const isVTable = (chartType: ChartType) => {\n return ['table', 'pivotTable'].includes(chartType)\n}\n\nexport const isVChart = (chartType: ChartType) => {\n return !isVTable(chartType)\n}\n","import type { AdvancedPipe, AdvancedPipeline, AdvancedPipelineContext, AdvancedVSeed, MeasureGroup } from 'src/types'\nimport { execPipeline } from '../../../utils'\n\nexport const pivotAdapter = (pipeline: AdvancedPipeline, pivotPipeline: AdvancedPipeline): AdvancedPipe => {\n return (advancedVSeed, context) => {\n const { vseed } = context\n const { measures } = vseed\n\n if (measures && measures.find((measure: MeasureGroup) => measure && measure.children)) {\n return execPipeline<AdvancedVSeed, AdvancedPipelineContext>(pivotPipeline, context, advancedVSeed)\n }\n\n return execPipeline<AdvancedVSeed, AdvancedPipelineContext>(pipeline, context, advancedVSeed)\n }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n reshapeTo2D1M,\n vchartBaseConfig,\n vchartTheme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n} from '../pipes'\n\nexport const lineAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n encodingYX,\n vchartBaseConfig,\n vchartTheme,\n autoMeasures,\n autoDimensions,\n reshapeTo2D1M,\n pivotReshapeTo2D1M,\n pivotAdapter,\n} from '../pipes'\n\nexport const barAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingYX,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingYX,\n initAdvancedVSeed,\n reshapeTo2D1M,\n vchartBaseConfig,\n vchartTheme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n} from '../pipes'\n\nexport const barParallelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingYX,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingYX,\n initAdvancedVSeed,\n reshapeTo2D1M,\n vchartBaseConfig,\n vchartTheme,\n pivotAdapter,\n pivotReshapeTo2D1M\n} from '../pipes'\n\nexport const barPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingYX,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n reshapeTo2D1M,\n vchartBaseConfig,\n vchartTheme,\n pivotAdapter,\n} from '../pipes'\nimport { pivotReshapeTo2D1M } from '../pipes/reshape/pivotReshapeTo2D1M'\n\nexport const columnAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n reshapeTo2D1M,\n vchartBaseConfig,\n vchartTheme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n} from '../pipes'\n\nexport const columnParallelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n vchartBaseConfig,\n vchartTheme,\n reshapeTo2D1M,\n pivotReshapeTo2D1M,\n pivotAdapter,\n} from '../pipes'\n\nexport const columnPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n pivotReshapeTo2D1M,\n reshapeTo2D1M,\n vchartBaseConfig,\n vchartTheme,\n pivotAdapter,\n} from '../pipes'\n\nexport const areaAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n reshapeTo2D1M,\n vchartBaseConfig,\n vchartTheme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n} from '../pipes'\n\nexport const areaPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { ISpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const dataset: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n return {\n ...spec,\n data: {\n values: advancedVSeed.dataset,\n },\n } as ISpec\n}\n","import type { ISpec } from '@visactor/vchart'\nimport type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { SpecPipe } from 'src/types'\n\nexport const datasetPivot: SpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { dataset, datasetReshapeInfo } = advancedVSeed\n const records = dataset.reduce((pre, cur, index) => {\n const id = datasetReshapeInfo[index].id\n pre[id] = cur\n return pre\n }, {})\n return {\n ...result,\n records: records,\n } as PivotChartConstructorOptions\n}\n\nexport const datasetPivotPlaceholder: SpecPipe = (spec) => {\n return {\n ...spec,\n data: {\n id: 'placeholderDataId',\n },\n } as ISpec\n}\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initColumn: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'bar'\n result.direction = 'vertical'\n result.xField = encoding[0].x[0]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n return result\n}\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initBar: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'bar'\n result.direction = 'horizontal'\n result.yField = encoding[0].y?.[0]\n result.xField = encoding[0].x?.[0]\n result.seriesField = encoding[0].group?.[0]\n result.padding = 0\n return result\n}\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initBarParallel: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { encoding, datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'bar'\n result.direction = 'horizontal'\n result.yField = [encoding[0].y[0], unfoldInfo.groupName] as string[]\n result.xField = encoding[0].x[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n return result\n}\n","import type { IAreaChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initArea: SpecPipe = (spec, context) => {\n const result = { ...spec } as IAreaChartSpec\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'area'\n result.direction = 'vertical'\n result.xField = encoding[0].x[0]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n return result\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initLine: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'line'\n result.direction = 'vertical'\n result.xField = encoding[0].x[0]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n return result\n}\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initColumnParallel: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { encoding, datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'bar'\n result.direction = 'vertical'\n result.xField = [encoding[0].x[0], unfoldInfo.groupName]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n return result\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { SpecPipe } from 'src/types'\n\nexport const initPivot: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n rows: [],\n columns: [],\n indicators: [],\n records: [],\n widthMode: 'adaptive',\n heightMode: 'adaptive',\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsRow: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n","import type { ISpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const xBand: SpecPipe = (spec) => {\n const result = { ...spec } as ISpec\n\n if (!result.axes) {\n result.axes = []\n }\n\n result.axes = [\n ...result.axes,\n {\n visible: true,\n type: 'band',\n orient: 'bottom',\n },\n ] as ISpec['axes']\n\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const xLinear: SpecPipe = (spec) => {\n const result = { ...spec } as ISpec\n\n if (!result.axes) {\n result.axes = []\n }\n\n result.axes = [\n ...result.axes,\n {\n visible: true,\n type: 'linear',\n orient: 'bottom',\n nice: true,\n zero: true,\n },\n ] as ISpec['axes']\n\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const yBand: SpecPipe = (spec) => {\n const result = { ...spec } as ISpec\n\n if (!result.axes) {\n result.axes = []\n }\n\n result.axes = [\n ...result.axes,\n {\n visible: true,\n type: 'band',\n orient: 'left',\n },\n ] as ISpec['axes']\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const yLinear: SpecPipe = (spec) => {\n const result = { ...spec } as ISpec\n\n if (!result.axes) {\n result.axes = []\n }\n\n result.axes = [\n ...result.axes,\n {\n visible: true,\n type: 'linear',\n orient: 'left',\n nice: true,\n zero: true,\n },\n ] as ISpec['axes']\n\n return result\n}\n","import { IAreaChartSpec, IBarChartSpec } from '@visactor/vchart'\nimport { SpecPipe } from 'src/types'\n\nexport const percent: SpecPipe = (spec, context) => {\n const result = { ...spec } as IAreaChartSpec | IBarChartSpec\n result.percent = true\n return result\n}\n","import { IAreaChartSpec, IBarChartSpec } from '@visactor/vchart'\nimport { SpecPipe } from 'src/types'\n\nexport const stack: SpecPipe = (spec, context) => {\n const result = { ...spec } as IAreaChartSpec | IBarChartSpec\n result.stack = true\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const backgroundColor: SpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed } = context\n const { baseConfig } = advancedVSeed\n if (!baseConfig?.vchart) {\n return result\n }\n const { backgroundColor } = baseConfig.vchart\n return {\n ...result,\n background: backgroundColor,\n }\n}\n","import type { SpecPipe, Tooltip } from 'src/types'\n\nconst defaultTooltip: Tooltip = {\n enable: true,\n}\n\nexport const tooltip: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const baseConfig = advancedVSeed.baseConfig.vchart as { tooltip: Tooltip }\n const { tooltip = defaultTooltip } = baseConfig\n\n const { enable } = tooltip\n\n result.tooltip = {\n visible: enable,\n }\n return result\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { Label, SpecPipe } from 'src/types'\n\nexport const label: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const baseConfig = advancedVSeed.baseConfig.vchart\n\n if (!baseConfig || !baseConfig.label) {\n return result\n }\n\n const { label } = baseConfig\n const { enable } = label as Label\n\n result.label = {\n visible: enable,\n }\n return result\n}\n","import type { Legend, SpecPipe } from 'src/types'\n\nconst defaultLegend = {\n enable: true,\n}\n\nexport const legend: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const baseConfig = advancedVSeed.baseConfig.vchart\n if (!baseConfig || !baseConfig.legend) {\n return result\n }\n\n const { legend = defaultLegend } = baseConfig\n const { enable } = legend as Legend\n\n result.legends = {\n visible: enable,\n }\n return result\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { IDiscreteTableLegendOption } from '@visactor/vtable/es/ts-types/component/legend'\nimport { unique } from 'remeda'\nimport type { Color, Legend, SpecPipe } from 'src/types'\n\nexport const pivotLegend: SpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const baseConfig = advancedVSeed.baseConfig.vchart\n if (!baseConfig || !baseConfig.legend) {\n return result\n }\n\n const { datasetReshapeInfo } = advancedVSeed\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n\n const { legend, color } = baseConfig\n const { enable } = legend as Legend\n const { colorScheme } = color as Color\n\n result.legends = {\n visible: enable,\n alignSelf: 'end',\n type: 'discrete',\n position: 'start',\n data: colorItems.map((d, index) => ({\n label: d,\n shape: {\n symbolType: 'square',\n fill: colorScheme[index],\n },\n })),\n orient: 'bottom',\n } as unknown as IDiscreteTableLegendOption\n return result\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { Color, SpecPipe } from 'src/types'\n\nexport const color: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const baseConfig = advancedVSeed.baseConfig.vchart\n if (!baseConfig || !baseConfig.color) {\n return result\n }\n\n const { color } = baseConfig\n const { colorScheme, colorMapping } = color as Color\n\n result.color = {\n type: 'ordinal',\n domain: unfoldInfo.colorItems,\n range: colorScheme,\n specified: colorMapping,\n }\n return result\n}\n","import type { MeasureGroup, Spec, SpecPipe, SpecPipeline, SpecPipelineContext } from 'src/types'\nimport { execPipeline } from '../../../utils'\n\nexport const pivotAdapter = (pipeline: SpecPipeline, pivotPipeline: SpecPipeline): SpecPipe => {\n return (spec, context) => {\n const { advancedVSeed } = context\n const { measures } = advancedVSeed\n\n if (measures && measures.find((measure: MeasureGroup) => measure && measure.children)) {\n return execPipeline<Spec, SpecPipelineContext>(pivotPipeline, context, spec)\n }\n\n return execPipeline<Spec, SpecPipelineContext>(pipeline, context, spec)\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline } from '../../../utils'\nimport type { SpecPipe, SpecPipeline, SpecPipelineContext } from 'src/types'\nimport { unique } from 'remeda'\n\nexport const pivotIndicators =\n (chartPipeline: SpecPipeline): SpecPipe =>\n (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, encoding } = advancedVSeed\n\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n\n const indicators = datasetReshapeInfo.map((reshapeInfo, index) => {\n const measure = measures?.find((d) => d.id === reshapeInfo.id)\n\n const newEncoding = [encoding[index]]\n const newDatasetReshapeInfo = [{ ...reshapeInfo, unfoldInfo: { ...reshapeInfo.unfoldInfo, colorItems } }]\n\n const newContext: SpecPipelineContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n datasetReshapeInfo: newDatasetReshapeInfo,\n encoding: newEncoding,\n },\n }\n\n const chartSpec = execPipeline(chartPipeline, newContext, {})\n return {\n indicatorKey: reshapeInfo.id,\n title: measure?.alias,\n cellType: 'chart',\n chartModule: 'vchart',\n chartSpec: chartSpec,\n style: {\n padding: [1, 1, 0, 1],\n },\n }\n })\n\n return {\n ...result,\n indicators: indicators,\n } as PivotChartConstructorOptions\n }\n\nexport const pivotIndicatorsAsRow: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n xBand,\n yLinear,\n initLine,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n initPivot,\n datasetPivot,\n datasetPivotPlaceholder,\n pivotLegend,\n pivotIndicators,\n pivotAdapter,\n pivotIndicatorsAsRow,\n} from '../pipes'\n\nconst line: SpecPipeline = [initLine, color, backgroundColor, dataset, xBand, yLinear, label, tooltip, legend]\n\nconst pivotLine: SpecPipeline = [\n initPivot,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([initLine, color, backgroundColor, datasetPivotPlaceholder, xBand, yLinear, label, tooltip]),\n pivotLegend,\n]\n\nexport const lineSpecPipeline: SpecPipeline = [pivotAdapter(line, pivotLine)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n initColumn,\n dataset,\n xBand,\n yLinear,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n datasetPivotPlaceholder,\n pivotIndicators,\n pivotLegend,\n pivotIndicatorsAsRow,\n} from '../pipes'\n\nconst column: SpecPipeline = [initColumn, color, backgroundColor, dataset, xBand, yLinear, label, tooltip, legend]\n\nconst pivotColumn: SpecPipeline = [\n initPivot,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([initColumn, color, backgroundColor, datasetPivotPlaceholder, xBand, yLinear, label, tooltip]),\n pivotLegend,\n]\n\nexport const columnSpecPipeline = [pivotAdapter(column, pivotColumn)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n xBand,\n yLinear,\n initColumnParallel,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n pivotIndicators,\n initPivot,\n datasetPivot,\n pivotAdapter,\n datasetPivotPlaceholder,\n pivotLegend,\n pivotIndicatorsAsRow,\n} from '../pipes'\n\nconst columnParallel: SpecPipeline = [\n initColumnParallel,\n color,\n backgroundColor,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n legend,\n]\n\nconst pivotColumnParallel: SpecPipeline = [\n initPivot,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initColumnParallel,\n color,\n backgroundColor,\n datasetPivotPlaceholder,\n xBand,\n yLinear,\n label,\n tooltip,\n ]),\n pivotLegend,\n]\n\nexport const columnParallelSpecPipeline: SpecPipeline = [pivotAdapter(columnParallel, pivotColumnParallel)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n initColumn,\n dataset,\n xBand,\n yLinear,\n percent,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n datasetPivotPlaceholder,\n pivotAdapter,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotLegend,\n pivotIndicatorsAsRow,\n} from '../pipes'\n\nconst columnPercent: SpecPipeline = [\n initColumn,\n color,\n backgroundColor,\n percent,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n legend,\n]\n\nconst pivotColumnPercent: SpecPipeline = [\n initPivot,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initColumn,\n color,\n percent,\n backgroundColor,\n datasetPivotPlaceholder,\n xBand,\n yLinear,\n label,\n tooltip,\n ]),\n pivotLegend,\n]\n\nexport const columnPercentSpecPipeline: SpecPipeline = [pivotAdapter(columnPercent, pivotColumnPercent)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n initBar,\n dataset,\n xLinear,\n yBand,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotLegend,\n datasetPivotPlaceholder,\n pivotIndicatorsAsCol,\n} from '../pipes'\n\nconst bar: SpecPipeline = [initBar, color, backgroundColor, dataset, xLinear, yBand, label, tooltip, legend]\n\nconst pivotBar: SpecPipeline = [\n initPivot,\n pivotIndicatorsAsCol,\n datasetPivot,\n pivotIndicators([initBar, color, backgroundColor, datasetPivotPlaceholder, yBand, label, label, tooltip]),\n pivotLegend,\n]\n\nexport const barSpecPipeline: SpecPipeline = [pivotAdapter(bar, pivotBar)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n xLinear,\n yBand,\n initBarParallel,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n datasetPivotPlaceholder,\n initPivot,\n datasetPivot,\n pivotLegend,\n pivotIndicators,\n pivotAdapter,\n pivotIndicatorsAsCol,\n} from '../pipes'\n\nconst barParallel: SpecPipeline = [\n initBarParallel,\n color,\n backgroundColor,\n dataset,\n xLinear,\n yBand,\n label,\n tooltip,\n legend,\n]\n\nconst pivotBarParallel: SpecPipeline = [\n initPivot,\n pivotIndicatorsAsCol,\n datasetPivot,\n pivotIndicators([initBarParallel, color, backgroundColor, datasetPivotPlaceholder, yBand, xLinear, label, tooltip]),\n pivotLegend,\n]\n\nexport const barParallelSpecPipeline: SpecPipeline = [pivotAdapter(barParallel, pivotBarParallel)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n initBar,\n dataset,\n xLinear,\n yBand,\n percent,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotLegend,\n datasetPivotPlaceholder,\n pivotIndicatorsAsCol,\n} from '../pipes'\n\nconst barPercent: SpecPipeline = [\n initBar,\n color,\n backgroundColor,\n percent,\n dataset,\n xLinear,\n yBand,\n label,\n tooltip,\n legend,\n]\n\nconst pivotBarPercent: SpecPipeline = [\n initPivot,\n pivotIndicatorsAsCol,\n datasetPivot,\n pivotIndicators([initBar, color, backgroundColor, percent, datasetPivotPlaceholder, yBand, xLinear, label, tooltip]),\n pivotLegend,\n]\n\nexport const barPercentSpecPipeline: SpecPipeline = [pivotAdapter(barPercent, pivotBarPercent)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n xBand,\n yLinear,\n initArea,\n stack,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n datasetPivotPlaceholder,\n datasetPivot,\n pivotIndicators,\n pivotLegend,\n pivotAdapter,\n initPivot,\n pivotIndicatorsAsRow,\n} from '../pipes'\n\nconst area: SpecPipeline = [initArea, color, backgroundColor, stack, dataset, xBand, yLinear, label, tooltip, legend]\n\nconst pivotArea: SpecPipeline = [\n initPivot,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([initArea, color, backgroundColor, stack, datasetPivotPlaceholder, xBand, yLinear, label, tooltip]),\n pivotLegend,\n]\n\nexport const areaSpecPipeline = [pivotAdapter(area, pivotArea)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n percent,\n dataset,\n xBand,\n yLinear,\n initArea,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n datasetPivotPlaceholder,\n datasetPivot,\n pivotIndicators,\n pivotLegend,\n pivotAdapter,\n initPivot,\n pivotIndicatorsAsRow,\n} from '../pipes'\n\nconst areaPercent: SpecPipeline = [\n initArea,\n color,\n backgroundColor,\n percent,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n legend,\n]\n\nconst pivotAreaPercent: SpecPipeline = [\n initPivot,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([initArea, color, backgroundColor, percent, datasetPivotPlaceholder, xBand, yLinear, label, tooltip]),\n pivotLegend,\n]\n\nexport const areaPercentSpecPipeline = [pivotAdapter(areaPercent, pivotAreaPercent)]\n","import type { AdvancedPipelineContext, AdvancedVSeed } from 'src/types'\nimport { execPipeline } from '../../pipeline'\nimport type { Builder } from './builder'\n\nexport const buildAdvanced = (builder: Builder): AdvancedVSeed | null => {\n const { chartType } = builder.vseed\n if (!chartType) {\n throw new Error('chartType is nil in buildAdvanced')\n }\n\n const pipeline = builder.getAdvancedPipeline(chartType)\n if (!pipeline) {\n throw new Error(`no advanced pipeline for chartType ${chartType}`)\n }\n\n const context: AdvancedPipelineContext = {\n vseed: builder.vseed,\n customTheme: builder.getThemeMap(),\n }\n\n try {\n return execPipeline<AdvancedVSeed, AdvancedPipelineContext>(pipeline, context)\n } catch (e) {\n console.error(e)\n throw new Error(`buildAdvanced error, see error info in console`)\n }\n}\n","import type { Spec } from 'src/types'\nimport type { Builder } from './builder'\nimport type { AdvancedVSeed, SpecPipelineContext } from 'src/types'\nimport { execPipeline } from '../../pipeline'\n\nexport const buildSpec = (builder: Builder, advancedVSeed: AdvancedVSeed): Spec => {\n const { chartType } = builder.vseed\n if (!chartType) {\n throw new Error('chartType is nil in buildSpec')\n }\n\n const pipeline = builder.getSpecPipeline(chartType)\n if (!pipeline) {\n throw new Error(`no spec pipeline for chartType ${chartType}`)\n }\n\n const context: SpecPipelineContext = {\n vseed: builder.vseed,\n advancedVSeed,\n }\n try {\n return execPipeline<Spec, SpecPipelineContext>(pipeline, context)\n } catch (e) {\n console.error(e)\n throw new Error(`buildSpec error, see error info in console`)\n }\n}\n","import type { Spec } from 'src/types'\nimport type { Builder } from './builder'\n\nexport const build = (builder: Builder): Spec => {\n console.log('debug vseed', builder.vseed)\n const advancedVSeed = builder.buildAdvanced()\n console.log('debug advancedVSeed', advancedVSeed)\n if (!advancedVSeed) {\n throw new Error('advancedVSeed is null')\n }\n const spec = builder.buildSpec(advancedVSeed)\n console.log('debug spec', spec)\n return spec\n}\n","import type {\n AdvancedPipeline,\n AdvancedVSeed,\n ChartType,\n CustomThemeConfig,\n SpecPipeline,\n VSeed,\n VSeedBuilder,\n} from 'src/types'\nimport { buildAdvanced } from './buildAdvanced'\nimport { buildSpec } from './buildSpec'\nimport { build } from './build'\n\nexport class Builder implements VSeedBuilder {\n private _vseed: VSeed\n private _advancedVSeed: AdvancedVSeed | null = null\n\n constructor(vseed: VSeed) {\n this._vseed = vseed\n }\n\n build = () => build(this)\n\n buildSpec = (advanced: AdvancedVSeed) => buildSpec(this, advanced)\n\n buildAdvanced = () => buildAdvanced(this)\n\n getAdvancedPipeline = (chartType: ChartType) => Builder._advancedPipelineMap[chartType] as AdvancedPipeline\n getSpecPipeline = (chartType: ChartType) => Builder._specPipelineMap[chartType] as SpecPipeline\n getTheme = (themeKey: string) => Builder._themeMap[themeKey]\n getThemeMap = () => Builder._themeMap\n\n get vseed() {\n return this._vseed\n }\n\n set vseed(value) {\n this._vseed = value\n }\n\n get advancedVSeed() {\n return this._advancedVSeed\n }\n\n set advancedVSeed(value) {\n this._advancedVSeed = value\n }\n\n static _advancedPipelineMap: Partial<Record<ChartType, AdvancedPipeline>> = {}\n static _specPipelineMap: Partial<Record<ChartType, SpecPipeline>> = {}\n static _themeMap: Record<string, CustomThemeConfig> = {}\n static from = (vseed: VSeed) => new Builder(vseed)\n}\n","import {\n areaAdvancedPipeline,\n areaPercentAdvancedPipeline,\n areaPercentSpecPipeline,\n areaSpecPipeline,\n barAdvancedPipeline,\n barParallelAdvancedPipeline,\n barParallelSpecPipeline,\n barPercentAdvancedPipeline,\n barPercentSpecPipeline,\n barSpecPipeline,\n columnAdvancedPipeline,\n columnParallelAdvancedPipeline,\n columnParallelSpecPipeline,\n columnPercentAdvancedPipeline,\n columnPercentSpecPipeline,\n columnSpecPipeline,\n lineAdvancedPipeline,\n lineSpecPipeline,\n} from '../../pipeline'\nimport { Builder } from '../builder'\n\nexport const registerAll = () => {\n registerLine()\n registerColumn()\n registerColumnParallel()\n registerColumnPercent()\n registerBar()\n registerBarParallel()\n registerBarPercent()\n registerArea()\n registerAreaPercent()\n}\n\nexport const registerColumn = () => {\n Builder._advancedPipelineMap['column'] = columnAdvancedPipeline\n Builder._specPipelineMap['column'] = columnSpecPipeline\n}\n\nexport const registerBar = () => {\n Builder._advancedPipelineMap['bar'] = barAdvancedPipeline\n Builder._specPipelineMap['bar'] = barSpecPipeline\n}\n\nexport const registerLine = () => {\n Builder._advancedPipelineMap['line'] = lineAdvancedPipeline\n Builder._specPipelineMap['line'] = lineSpecPipeline\n}\n\nexport const registerArea = () => {\n Builder._advancedPipelineMap['area'] = areaAdvancedPipeline\n Builder._specPipelineMap['area'] = areaSpecPipeline\n}\n\nexport const registerAreaPercent = () => {\n Builder._advancedPipelineMap['areaPercent'] = areaPercentAdvancedPipeline\n Builder._specPipelineMap['areaPercent'] = areaPercentSpecPipeline\n}\n\nexport const registerBarPercent = () => {\n Builder._advancedPipelineMap['barPercent'] = barPercentAdvancedPipeline\n Builder._specPipelineMap['barPercent'] = barPercentSpecPipeline\n}\n\nexport const registerColumnPercent = () => {\n Builder._advancedPipelineMap['columnPercent'] = columnPercentAdvancedPipeline\n Builder._specPipelineMap['columnPercent'] = columnPercentSpecPipeline\n}\n\nexport const registerColumnParallel = () => {\n Builder._advancedPipelineMap['columnParallel'] = columnParallelAdvancedPipeline\n Builder._specPipelineMap['columnParallel'] = columnParallelSpecPipeline\n}\n\nexport const registerBarParallel = () => {\n Builder._advancedPipelineMap['barParallel'] = barParallelAdvancedPipeline\n Builder._specPipelineMap['barParallel'] = barParallelSpecPipeline\n}\n","import type { CustomThemeConfig } from 'src/types'\n\nexport const darkTheme = (): CustomThemeConfig => {\n return {\n baseConfig: {\n vtable: {\n backgroundColor: '#141414',\n },\n vchart: {\n backgroundColor: '#141414',\n color: {\n colorScheme: [\n '#2E62F1',\n '#4DC36A',\n '#FF8406',\n '#FFCC00',\n '#4F44CF',\n '#5AC8FA',\n '#003A8C',\n '#B08AE2',\n '#FF6341',\n '#98DD62',\n ],\n },\n label: {\n enable: true,\n },\n tooltip: {\n enable: true,\n },\n legend: {\n enable: true,\n },\n },\n },\n }\n}\n","import type { CustomThemeConfig } from 'src/types'\n\nexport const lightTheme = (): CustomThemeConfig => {\n return {\n baseConfig: {\n vtable: {\n backgroundColor: '#ffffff',\n },\n vchart: {\n backgroundColor: '#ffffff',\n color: {\n colorScheme: [\n '#8D72F6',\n '#5766EC',\n '#66A3FE',\n '#51D5E6',\n '#4EC0B3',\n '#F9DF90',\n '#F9AD71',\n '#ED8888',\n '#E9A0C3',\n '#D77DD3',\n ],\n },\n label: {\n enable: true,\n },\n tooltip: {\n enable: true,\n },\n legend: {\n enable: true,\n },\n },\n },\n }\n}\n","import type { CustomThemeConfig } from 'src/types'\nimport { Builder } from '../builder'\nimport { darkTheme, lightTheme } from '../../theme'\n\nexport const registerCustomTheme = (key: string, themeConfig: CustomThemeConfig) => {\n Builder._themeMap[key] = themeConfig\n}\n\nexport const registerLightTheme = () => {\n registerCustomTheme('light', lightTheme())\n}\n\nexport const registerDarkTheme = () => {\n registerCustomTheme('dark', darkTheme())\n}\n","import {\n registerArea,\n registerAreaPercent,\n registerBar,\n registerBarParallel,\n registerBarPercent,\n registerColumn,\n registerColumnParallel,\n registerColumnPercent,\n registerLine,\n} from './chartType'\nimport { registerDarkTheme, registerLightTheme } from './theme'\n\nexport const registerAll = () => {\n // ChartType\n registerLine()\n registerColumn()\n registerColumnParallel()\n registerColumnPercent()\n registerBar()\n registerBarParallel()\n registerBarPercent()\n registerArea()\n registerAreaPercent()\n\n // Theme\n registerLightTheme()\n registerDarkTheme()\n}\n","import { z } from 'zod'\n\nexport type ChartType =\n | 'table'\n | 'pivotTable'\n | 'line'\n | 'column'\n | 'columnPercent'\n | 'columnParallel'\n | 'bar'\n | 'barPercent'\n | 'barParallel'\n | 'area'\n | 'areaPercent'\n | 'rose'\n | 'pie'\n | 'donut'\n | 'dualAxis'\n\nexport enum ChartTypeEnum {\n Table = 'table',\n PivotTable = 'pivotTable',\n Line = 'line',\n Column = 'column',\n ColumnPercent = 'columnPercent',\n ColumnParallel = 'columnParallel',\n Bar = 'bar',\n BarPercent = 'barPercent',\n BarParallel = 'barParallel',\n Area = 'area',\n AreaPercent = 'areaPercent',\n Rose = 'rose',\n Pie = 'pie',\n Donut = 'donut',\n DualAxis = 'dualAxis',\n}\n\nexport const zChartType = z.enum([\n 'table',\n 'pivotTable',\n 'line',\n 'column',\n 'columnPercent',\n 'columnParallel',\n 'bar',\n 'barPercent',\n 'barParallel',\n 'area',\n 'areaPercent',\n 'rose',\n 'pie',\n 'donut',\n 'dualAxis',\n])\n","import { z } from 'zod'\n\n/**\n * example dataset link:\n * [\n * { date: '2019', 20001:'type', profit:10, sales: null, },\n * { date: '2020', 20001:'type', profit:30, sales: -1.1, },\n * { date: '2021', 20001:'type', profit:30, sales: 1, },\n * { date: '2023', 20001:'type', profit:40, sales: undefined, },\n * { date: '2022', 20001:'type', profit:50, sales: 100, },\n * ]\n */\nexport const zDatum = z.record(z.string().or(z.number()), z.any())\nexport const zDataset = z.array(zDatum)\n\nexport type Datum = z.infer<typeof zDatum>\nexport type Dataset = z.infer<typeof zDataset>\n","import { z } from 'zod'\n\nexport const zDimension = z.object({\n id: z.string(),\n alias: z.string().optional(),\n visible: z.boolean().default(true).optional(),\n location: z.enum(['dimension', 'rowDimension', 'columnDimension']),\n})\n\nexport const zDimensions = z.array(zDimension).optional()\n\nexport type Dimension = z.infer<typeof zDimension>\n\nexport type Dimensions = z.infer<typeof zDimensions>\n","import { z } from 'zod'\n\nexport const zMeasure = z.object({\n id: z.string(),\n alias: z.string().optional(),\n visible: z.boolean().default(true).optional(),\n autoFormat: z.boolean().default(true).optional(),\n format: z\n .object({\n type: z\n .enum(['number', 'percent', 'permille'])\n .optional()\n .default('number'),\n ratio: z.number().optional().default(1),\n symbol: z.string().optional().default(''),\n thousandSeparator: z.boolean().optional().default(false),\n decimalPlaces: z.number().optional().default(2),\n round: z.enum(['round', 'floor', 'ceil']).optional().default('round'),\n prefix: z.string().optional().default(''),\n suffix: z.string().optional().default(''),\n })\n .optional(),\n})\n\nexport const zMeasureGroup = z.object({\n id: z.string(),\n alias: z.string().optional(),\n visible: z.boolean().default(true).optional(),\n get children() {\n return z.array(zMeasureGroup.or(zMeasure)).optional()\n },\n})\n\nexport const zMeasures = z.array(zMeasureGroup.or(zMeasure)).optional()\n\nexport type Measures = z.infer<typeof zMeasures>\nexport type Measure = z.infer<typeof zMeasure>\nexport type MeasureGroup = z.infer<typeof zMeasureGroup>\n","import { z } from 'zod'\n\nexport type FoldInfo = {\n foldMap: Record<string, string | undefined>\n measureId: string\n measureName: string\n measureValue: string\n}\n\nexport type UnfoldInfo = {\n groupName: string\n colorItems: string[]\n}\n\nexport const zFoldInfo = z.object({\n foldMap: z.record(z.string(), z.string().or(z.undefined())),\n measureId: z.string(),\n measureName: z.string(),\n measureValue: z.string(),\n})\nexport const zUnfoldInfo = z.object({\n colorItems: z.array(z.string()),\n groupName: z.string(),\n})\n\nexport const zDatasetReshapeInfo = z.array(\n z.object({\n id: z.string(),\n foldInfo: zFoldInfo,\n unfoldInfo: zUnfoldInfo,\n }),\n)\n\nexport type DatasetReshapeInfo = z.infer<typeof zDatasetReshapeInfo>\n","import { z } from 'zod'\n\nexport const zEncoding = z.array(\n z.object({\n x: z.array(z.string()).optional(),\n y: z.array(z.string()).optional(),\n color: z.array(z.string()).optional(),\n group: z.array(z.string()).optional(),\n angle: z.array(z.string()).optional(),\n radius: z.array(z.string()).optional(),\n tooltip: z.array(z.string()).optional(),\n }),\n)\n\nexport type Encoding = Array<{\n x?: string[]\n y?: string[]\n color?: string[]\n group?: string[]\n angle?: string[]\n radius?: string[]\n tooltip?: string[]\n}>\n","import { z } from 'zod'\nexport const zBackgroundColor = z.string().default('transparent').optional()\n\n/**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\nexport type BackgroundColor = string | undefined\n","import { z } from 'zod'\n\nexport const zLabel = z.object({\n enable: z.boolean().default(true).optional(),\n})\n\nexport type Label = {\n /**\n * 标签功能是否开启\n * @default true\n */\n enable: boolean\n}\n","import { z } from 'zod'\n\nexport const zColor = z.object({\n colorScheme: z.array(z.string()).optional(),\n colorMapping: z.record(z.string(), z.string()).optional(),\n})\n\nexport type Color = {\n /**\n * 颜色配色方案\n * @description 颜色配色方案用于定义图表中不同元素的颜色\n * @example ['#FFCDD2,#F8BBD0,#E1BEE7,#D1C4E9,#C5CAE9,#BBDEFB,#B3E5FC,#B2EBF2,#B2DFDB,#C8E6C9,#DCEDC8,#F0F4C3,#FFF9C4,#FFECB3,#FFE0B2']\n */\n colorScheme: string[]\n /**\n * 颜色映射\n * @description 颜色映射用于将数据值映射到具体的颜色\n * @example\n * {\n * 'profit': 'red',\n * 'sales': 'blue',\n * }\n */\n colorMapping: Record<string, string>\n}\n","import { z } from 'zod'\n\nexport const zTooltip = z.object({\n enable: z.boolean().default(true).optional(),\n})\n\nexport type Tooltip = {\n /**\n * 提示信息功能是否开启\n * @default true\n */\n enable: boolean\n}\n","import { z } from 'zod'\n\nexport const zLegend = z.object({\n enable: z.boolean().default(true).optional(),\n})\n\nexport type Legend = {\n /**\n * 图例功能是否开启\n * @default true\n */\n enable: boolean\n}\n","import { z } from 'zod'\nimport { zBackgroundColor } from './backgroundColor'\nimport { zLabel } from './label'\nimport { zColor } from './color'\nimport { zTooltip } from './tooltip'\nimport { zLegend } from './legend'\n\nconst zVChartBaseConfig = z.object({\n backgroundColor: zBackgroundColor,\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n})\n\nconst zVTableBaseConfig = z.object({\n backgroundColor: zBackgroundColor,\n})\n\nexport const zBaseConfig = z.object({\n vchart: zVChartBaseConfig.optional(),\n vtable: zVTableBaseConfig.optional(),\n})\n\nexport type VTableBaseConfig = z.infer<typeof zVTableBaseConfig>\nexport type VChartBaseConfig = z.infer<typeof zVChartBaseConfig>\n","import { z } from 'zod'\nimport { zBaseConfig } from '../baseConfig'\n\nexport const zCustomThemeConfig = z.object({\n baseConfig: zBaseConfig.optional(),\n})\n\nexport const zCustomTheme = z.record(z.string(), zCustomThemeConfig).optional()\n\nexport type CustomTheme = z.infer<typeof zCustomTheme>\nexport type CustomThemeConfig = z.infer<typeof zCustomThemeConfig>\n","import { z } from 'zod'\n\nexport const zTheme = z.string()\n\ntype Light = 'light' & { readonly brand: unique symbol }\ntype Dark = 'dark' & { readonly brand: unique symbol }\n\n/**\n * 主题\n * @default light\n * @description 内置 light、dark 两种主题, 新的主题可以通过registerTheme自定义主题.\n */\nexport type Theme = Light | Dark | string\n"],"names":["FoldMeasureName","FoldMeasureValue","FoldMeasureId","UnfoldDimensionGroup","Separator","unfoldDimensions","dataset","dimensions","measures","unfoldStartIndex","foldGroupName","dimensionsSeparator","Error","dimensionsToBeUnfolded","unfoldInfo","colorItems","i","datum","colorItem","generateDimGroupName","unique","dimensionsToBeGrouped","dim","String","foldMeasures","measureId","measureName","measureValue","foldInfo","result","Array","index","j","measure","id","alias","emptyReshapeResult","dataReshapeFor2D1M","options","foldMeasureId","foldMeasureName","foldMeasureValue","unfoldDimensionGroup","foldedDataset","finalDataset","dataReshapeFor1D1M","reshapeTo2D1M","advancedVSeed","context","vseed","newDatasets","pivotReshapeTo2D1M","measureGroups","datasetReshapeInfo","measureGroup","groupId","newSubDataset","reshapeInfo","encodingXY","encoding","prev","cur","isSingleDimension","x","y","group","color","encodingYX","initAdvancedVSeed","chartType","autoMeasures","top100dataset","sample","Object","key","item","undefined","autoDimensions","vchartBaseConfig","config","pick","vchartTheme","customTheme","theme","themeConfig","mergedConfig","mergeDeep","clone","execPipeline","pipeline","initialValue","isVTable","isVChart","pivotAdapter","pivotPipeline","lineAdvancedPipeline","barAdvancedPipeline","barParallelAdvancedPipeline","barPercentAdvancedPipeline","columnAdvancedPipeline","columnParallelAdvancedPipeline","columnPercentAdvancedPipeline","areaAdvancedPipeline","areaPercentAdvancedPipeline","spec","datasetPivot","records","pre","datasetPivotPlaceholder","initColumn","initBar","initBarParallel","initArea","initLine","initColumnParallel","initPivot","xBand","xLinear","yBand","yLinear","percent","stack","backgroundColor","baseConfig","defaultTooltip","tooltip","enable","label","defaultLegend","legend","pivotLegend","d","colorScheme","colorMapping","pivotIndicators","chartPipeline","indicators","newEncoding","newDatasetReshapeInfo","newContext","chartSpec","pivotIndicatorsAsRow","pivotIndicatorsAsCol","line","pivotLine","lineSpecPipeline","column","pivotColumn","columnSpecPipeline","columnParallel","pivotColumnParallel","columnParallelSpecPipeline","columnPercent","pivotColumnPercent","columnPercentSpecPipeline","bar","pivotBar","barSpecPipeline","barParallel","pivotBarParallel","barParallelSpecPipeline","barPercent","pivotBarPercent","barPercentSpecPipeline","area","pivotArea","areaSpecPipeline","areaPercent","pivotAreaPercent","areaPercentSpecPipeline","buildAdvanced","builder","e","console","buildSpec","build","Builder","advanced","themeKey","value","registerColumn","registerBar","registerLine","registerArea","registerAreaPercent","registerBarPercent","registerColumnPercent","registerColumnParallel","registerBarParallel","darkTheme","lightTheme","registerCustomTheme","registerLightTheme","registerDarkTheme","registerAll","zChartType","z","zDatum","zDataset","zDimension","zDimensions","zMeasure","zMeasureGroup","zMeasures","zFoldInfo","zUnfoldInfo","zDatasetReshapeInfo","zEncoding","zBackgroundColor","zLabel","zColor","zTooltip","zLegend","zVChartBaseConfig","zVTableBaseConfig","zBaseConfig","zCustomThemeConfig","zCustomTheme","zTheme"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.js","sources":["webpack://@visactor/vseed/./src/dataReshape/constant.ts","webpack://@visactor/vseed/./src/dataReshape/unfoldDimensions.ts","webpack://@visactor/vseed/./src/dataReshape/foldMeasures.ts","webpack://@visactor/vseed/./src/dataReshape/dataReshapeFor2D1M.ts","webpack://@visactor/vseed/./src/dataReshape/dataReshapeFor1D1M.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/reshape/reshapeTo2D1M.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/reshape/reshapeTo1D1M.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/reshape/pivotReshapeTo1D1M.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/reshape/pivotReshapeTo2D1M.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/encoding/encodingXY.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/encoding/encodingYX.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/encoding/encodingPolar.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/init/initAdvancedVSeed.ts","webpack://@visactor/vseed/./src/pipeline/utils/pipeline.ts","webpack://@visactor/vseed/./src/pipeline/utils/chatType.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/init/autoMeasures.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/init/autoDimensions.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/baseConfig/baseConfig.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/theme/theme.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipes/pivot/pivotAdapter.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/line.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/bar.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/barParallel.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/barPercent.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/column.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/columnParallel.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/columnPercent.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/area.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/areaPercent.ts","webpack://@visactor/vseed/./src/pipeline/advanced/pipeline/pie.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/dataset/dataset.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/dataset/datasetPivot.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/init/column.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/init/bar.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/init/barParallel.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/init/area.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/init/line.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/init/columnParallel.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/init/pie.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/init/pivot.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/axes/xBand.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/axes/xLinear.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/axes/yBand.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/axes/yLinear.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/percent/percent.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/stack/stack.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/backgroundColor/background.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/tooltip/tooltip.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/label/label.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/legend/legend.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/legend/pivotLegend.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/color/color.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/pivotChart/pivotAdapter.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/pivotChart/pivotIndicators.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/pivotChart/pivotGridStyle.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/pivotChart/pivotColumnDimensions.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipes/pivotChart/pivotRowDimensions.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/line.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/column.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/columnParallel.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/columnPercent.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/bar.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/barParallel.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/barPercent.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/area.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/areaPercent.ts","webpack://@visactor/vseed/./src/pipeline/spec/pipeline/pie.ts","webpack://@visactor/vseed/./src/builder/builder/buildAdvanced.ts","webpack://@visactor/vseed/./src/builder/builder/buildSpec.ts","webpack://@visactor/vseed/./src/builder/builder/build.ts","webpack://@visactor/vseed/./src/builder/builder/builder.ts","webpack://@visactor/vseed/./src/builder/register/chartType.ts","webpack://@visactor/vseed/./src/theme/dark.ts","webpack://@visactor/vseed/./src/theme/light.ts","webpack://@visactor/vseed/./src/builder/register/theme.ts","webpack://@visactor/vseed/./src/builder/register/all.ts","webpack://@visactor/vseed/./src/types/properties/chartType/zChartType.ts","webpack://@visactor/vseed/./src/types/properties/dataset/dataset.ts","webpack://@visactor/vseed/./src/types/properties/dimensions/dimensions.ts","webpack://@visactor/vseed/./src/types/properties/measures/measures.ts","webpack://@visactor/vseed/./src/types/properties/datasetReshapeInfo/datasetReshapeInfo.ts","webpack://@visactor/vseed/./src/types/properties/encoding/encoding.ts","webpack://@visactor/vseed/./src/types/properties/baseConfig/backgroundColor.ts","webpack://@visactor/vseed/./src/types/properties/baseConfig/label.ts","webpack://@visactor/vseed/./src/types/properties/baseConfig/color.ts","webpack://@visactor/vseed/./src/types/properties/baseConfig/tooltip.ts","webpack://@visactor/vseed/./src/types/properties/baseConfig/legend.ts","webpack://@visactor/vseed/./src/types/properties/baseConfig/baseConfig.ts","webpack://@visactor/vseed/./src/types/properties/theme/customTheme.ts","webpack://@visactor/vseed/./src/types/properties/theme/theme.ts"],"sourcesContent":["// Reshape Measures\nexport const FoldMeasureName = '__MeaName__'\nexport const FoldMeasureValue = '__MeaValue__'\nexport const FoldMeasureId = '__MeaId__'\n\n// Reshape Dimensions\nexport const UnfoldDimensionGroup = '__DimGroup__'\n\nexport const Separator = '-'\n","import type { Dataset, Datum, Dimension, Measure } from 'src/types'\nimport type { UnfoldInfo } from 'src/types'\nimport { UnfoldDimensionGroup, Separator } from './constant'\nimport { unique } from 'remeda'\n\n/**\n * TODO: 优化展开维度的性能\n * 展开指定的维度\n * @description 第一步: 根据指定的维度, 将多个维度展开为N个指标(取决于维值去重后的数量), 随后合并成一个维度.\n */\nexport const unfoldDimensions = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n unfoldStartIndex: number = 0,\n foldGroupName: string = UnfoldDimensionGroup,\n dimensionsSeparator: string = Separator,\n): {\n dataset: Dataset\n unfoldInfo: UnfoldInfo\n} => {\n if (unfoldStartIndex < 0 || unfoldStartIndex >= dimensions.length) {\n throw new Error('unfoldStartIndex is out of range')\n }\n\n const dimensionsToBeUnfolded = dimensions.slice(unfoldStartIndex)\n const unfoldInfo: UnfoldInfo = {\n groupName: foldGroupName,\n colorItems: [],\n }\n\n // 指标为空或维度为空, 则不检测\n if (dimensions.length === 0 || measures.length === 0) {\n return {\n dataset,\n unfoldInfo: {\n groupName: foldGroupName,\n colorItems: [],\n },\n }\n }\n\n const colorItems = []\n for (let i = 0; i < dataset.length; i++) {\n const datum = dataset[i]\n const colorItem = generateDimGroupName(dimensionsToBeUnfolded, datum, dimensionsSeparator)\n datum[foldGroupName] = colorItem\n colorItems.push(colorItem)\n }\n\n unfoldInfo.colorItems = unique(colorItems)\n return {\n dataset,\n unfoldInfo,\n }\n}\n\n/**\n * 生成维度组合名称\n * @param dimensionsToBeGrouped 待分组的维度\n * @param datum 数据项\n * @param dimensionsSeparator 维度分隔符\n * @returns 维度组合名称\n */\nexport const generateDimGroupName = (dimensionsToBeGrouped: Dimension[], datum: Datum, dimensionsSeparator: string) => {\n return dimensionsToBeGrouped.map((dim) => String(datum[dim.id])).join(dimensionsSeparator)\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { Dataset, FoldInfo, Measure, Measures } from 'src/types'\nimport { FoldMeasureId, FoldMeasureName, FoldMeasureValue } from './constant'\n\n/**\n * 折叠指定的指标\n * @description 合并指定的指标为1个, 无论多少个, 都能转换为1个, 取名为fold, 意为折叠后混合在一起.\n */\nexport const foldMeasures = (\n dataset: Dataset,\n measures: Measure[],\n measureId = FoldMeasureId,\n measureName = FoldMeasureName,\n measureValue = FoldMeasureValue,\n): {\n dataset: Dataset\n foldInfo: FoldInfo\n} => {\n const foldInfo: FoldInfo = {\n measureId,\n measureName,\n measureValue,\n foldMap: {},\n }\n const result: Dataset = new Array(dataset.length * measures.length) as Dataset\n let index = 0\n for (let i = 0; i < dataset.length; i++) {\n for (let j = 0; j < measures.length; j++) {\n const datum: Record<string, any> = { ...dataset[i] }\n\n const measure = measures[j]\n const { id, alias } = measure\n datum[measureId] = id\n datum[measureName] = alias\n datum[measureValue] = dataset[i][id] as unknown\n\n foldInfo.foldMap[id] = alias\n result[index++] = datum\n }\n }\n\n return {\n dataset: result,\n foldInfo,\n }\n}\n\n/**\n * 折叠指定的指标组, 至多支持2层\n * @param dataset\n * @param measures\n * @param measureId\n * @param measureName\n * @param measureValue\n * @returns\n */\nexport const foldMeasureGroups = (\n dataset: Dataset,\n measures: Required<Measures>,\n measureId = '__MeaId__',\n measureName = '__MeaName__',\n measureValue = '__MeaValue__',\n) => {\n const groups: Array<Measures> = []\n if (!measures) {\n return {\n dataset,\n }\n }\n\n // 没有分组, 直接折叠所有指标\n if (!measures.some((measure) => 'children' in measure)) {\n return foldMeasures(dataset, measures, measureId, measureName, measureValue)\n }\n\n measures.forEach((measure) => {\n if ('children' in measure && measure.children) {\n groups.push(measure.children)\n } else {\n groups.push([measure])\n }\n })\n\n // 一组返回一个dataset\n const datasetGroup = groups.map((measures) => {\n if (!measures) {\n return []\n }\n return foldMeasures(dataset, measures, measureId, measureName, measureValue)\n })\n\n return {\n datasetGroup,\n }\n}\n","import type { Dataset, Dimension, FoldInfo, Measure, UnfoldInfo } from 'src/types'\nimport { foldMeasures } from './foldMeasures'\nimport { UnfoldDimensionGroup, FoldMeasureId, FoldMeasureName, FoldMeasureValue } from './constant'\nimport { unfoldDimensions } from './unfoldDimensions'\n\nconst emptyReshapeResult: {\n dataset: Dataset\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n} = {\n dataset: [],\n foldInfo: {\n foldMap: {},\n measureId: '',\n measureName: '',\n measureValue: '',\n },\n unfoldInfo: {\n colorItems: [],\n groupName: '',\n },\n}\n/**\n * 数据重塑为2个维度1个指标\n * @param dataset\n * @param dimensions\n * @param measures\n * @returns\n */\nexport const dataReshapeFor2D1M = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n options?: {\n foldMeasureId?: string\n foldMeasureName?: string\n foldMeasureValue?: string\n unfoldDimensionGroup?: string\n },\n): {\n dataset: Dataset\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n} => {\n const {\n foldMeasureId = FoldMeasureId,\n foldMeasureName = FoldMeasureName,\n foldMeasureValue = FoldMeasureValue,\n unfoldDimensionGroup = UnfoldDimensionGroup,\n } = options || {}\n if (dimensions.length === 0 && measures.length === 0) {\n return emptyReshapeResult\n }\n\n // 合并所有指标为1个指标\n const { dataset: foldedDataset, foldInfo } = foldMeasures(\n dataset,\n measures,\n foldMeasureId,\n foldMeasureName,\n foldMeasureValue,\n )\n\n if (dimensions.length === 0) {\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n [\n { id: foldMeasureId, alias: '指标Id', location: 'dimension' },\n { id: foldMeasureName, alias: '指标名称', location: 'dimension' },\n ],\n [{ id: foldMeasureValue, alias: '指标值' }],\n 1,\n unfoldDimensionGroup,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n } else {\n // 展开指定的维度为指标\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n [...dimensions, { id: foldMeasureName, alias: '指标名称', location: 'dimension' }],\n [{ id: foldMeasureValue, alias: '指标值' }],\n 1,\n unfoldDimensionGroup,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n }\n}\n","import type { Dataset, Dimension, FoldInfo, Measure, UnfoldInfo } from 'src/types'\nimport { foldMeasures } from './foldMeasures'\nimport { UnfoldDimensionGroup, FoldMeasureId, FoldMeasureName, FoldMeasureValue } from './constant'\nimport { unfoldDimensions } from './unfoldDimensions'\n\nconst emptyReshapeResult = {\n dataset: [],\n foldInfo: {\n foldMap: {},\n measureId: '',\n measureName: '',\n measureValue: '',\n },\n unfoldInfo: {\n groupName: '',\n colorItems: [],\n },\n}\n/**\n * 数据重塑为1个维度1个指标\n * @param dataset\n * @param dimensions\n * @param measures\n * @returns\n */\nexport const dataReshapeFor1D1M = (\n dataset: Dataset,\n dimensions: Dimension[],\n measures: Measure[],\n options?: {\n foldMeasureId?: string\n foldMeasureName?: string\n foldMeasureValue?: string\n unfoldDimensionGroup?: string\n },\n): {\n dataset: Dataset\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n} => {\n const {\n foldMeasureId = FoldMeasureId,\n foldMeasureName = FoldMeasureName,\n foldMeasureValue = FoldMeasureValue,\n unfoldDimensionGroup = UnfoldDimensionGroup,\n } = options || {}\n\n if (dimensions.length === 0 && measures.length === 0) {\n return emptyReshapeResult\n }\n\n // 合并所有指标为1个指标\n const { dataset: foldedDataset, foldInfo } = foldMeasures(\n dataset,\n measures,\n foldMeasureId,\n foldMeasureName,\n foldMeasureValue,\n )\n\n if (dimensions.length === 0) {\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n [{ id: foldMeasureName, alias: '指标名称', location: 'dimension' }],\n [{ id: foldMeasureValue, alias: '指标值' }],\n 0,\n unfoldDimensionGroup,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n } else {\n // 展开指定的维度为指标\n const { dataset: finalDataset, unfoldInfo } = unfoldDimensions(\n foldedDataset,\n [...dimensions, { id: foldMeasureName, alias: '指标名称', location: 'dimension' }],\n [{ id: foldMeasureValue, alias: '指标值' }],\n 0,\n unfoldDimensionGroup,\n )\n return { dataset: finalDataset, foldInfo, unfoldInfo }\n }\n}\n","import { dataReshapeFor2D1M } from '../../../../dataReshape'\nimport type { AdvancedPipe } from 'src/types'\n\n/**\n * 数据重塑, 将任意维度、任意指标, 重塑为2个维度1个指标.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const reshapeTo2D1M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { dimensions, measures } = advancedVSeed\n\n if (!measures || !dimensions || !dataset) {\n return result\n }\n\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor2D1M(dataset, dimensions, measures)\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: [\n {\n id: '2D1M',\n foldInfo,\n unfoldInfo,\n },\n ],\n dimensions,\n measures,\n }\n}\n","import { dataReshapeFor1D1M } from '../../../../dataReshape'\nimport type { AdvancedPipe } from 'src/types'\n\n/**\n * 数据重塑, 将任意维度、任意指标, 重塑为2个维度1个指标.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const reshapeTo1D1M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { dimensions, measures } = advancedVSeed\n if (!measures || !dimensions || !dataset) {\n return result\n }\n\n if (measures.length === 0) {\n throw new Error('measures can not be empty')\n }\n\n const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeFor1D1M(dataset, dimensions, measures)\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: [\n {\n id: '1D1M',\n foldInfo,\n unfoldInfo,\n },\n ],\n }\n}\n","import {\n FoldMeasureId,\n FoldMeasureName,\n FoldMeasureValue,\n UnfoldDimensionGroup,\n} from '../../../../dataReshape/constant'\nimport { dataReshapeFor1D1M } from '../../../../dataReshape'\nimport type { AdvancedPipe, Dataset, DatasetReshapeInfo, MeasureGroup } from 'src/types'\n\n/**\n * 数据重塑为透视结构, 如果存在指标分组, 则将数据按组划分. 如果存在行列维度, 则生成行列树结构.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const pivotReshapeTo1D1M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { dimensions, measures } = advancedVSeed\n\n if (!measures || !dimensions) {\n return result\n }\n\n const measureGroups: MeasureGroup[] = []\n if (measures) {\n measures.forEach((measure: MeasureGroup) => {\n if (measure.children && measure.children.length > 0) {\n measureGroups.push(measure)\n }\n })\n }\n const newDatasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n measureGroups.forEach((measureGroup) => {\n const measures = measureGroup.children\n if (!measures) {\n return\n }\n\n const commonDimensions = dimensions.filter((dim) => dim.location === 'dimension')\n const groupId = measureGroup.id\n const {\n dataset: newSubDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeFor1D1M(dataset, commonDimensions, measures, {\n foldMeasureId: FoldMeasureId,\n foldMeasureName: FoldMeasureName,\n foldMeasureValue: FoldMeasureValue + groupId,\n unfoldDimensionGroup: UnfoldDimensionGroup,\n })\n const reshapeInfo = {\n id: groupId,\n foldInfo,\n unfoldInfo,\n }\n newDatasets.push(newSubDataset)\n datasetReshapeInfo.push(reshapeInfo)\n })\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n","import {\n FoldMeasureId,\n FoldMeasureName,\n FoldMeasureValue,\n UnfoldDimensionGroup,\n} from '../../../../dataReshape/constant'\nimport { dataReshapeFor2D1M } from '../../../../dataReshape'\nimport type { AdvancedPipe, Dataset, DatasetReshapeInfo, MeasureGroup } from 'src/types'\n\n/**\n * 数据重塑为透视结构, 如果存在指标分组, 则将数据按组划分. 如果存在行列维度, 则生成行列树结构.\n * @param advancedVSeed\n * @param context\n * @returns\n */\nexport const pivotReshapeTo2D1M: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed\n const { dimensions, measures } = advancedVSeed\n\n if (!measures || !dimensions) {\n return result\n }\n\n const measureGroups: MeasureGroup[] = []\n if (measures) {\n measures.forEach((measure: MeasureGroup) => {\n if (measure.children && measure.children.length > 0) {\n measureGroups.push(measure)\n }\n })\n }\n const commonDimensions = dimensions.filter((dim) => dim.location === 'dimension')\n\n const newDatasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n measureGroups.forEach((measureGroup) => {\n const measures = measureGroup.children\n if (!measures) {\n return\n }\n const groupId = measureGroup.id\n const {\n dataset: newSubDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeFor2D1M(dataset, commonDimensions, measures, {\n foldMeasureId: FoldMeasureId + groupId,\n foldMeasureName: FoldMeasureName + groupId,\n foldMeasureValue: FoldMeasureValue + groupId,\n unfoldDimensionGroup: UnfoldDimensionGroup + groupId,\n })\n const reshapeInfo = {\n id: groupId,\n foldInfo,\n unfoldInfo,\n }\n newDatasets.push(newSubDataset)\n datasetReshapeInfo.push(reshapeInfo)\n })\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n","import type { AdvancedPipe } from 'src/types'\nimport type { Encoding } from 'src/types'\n\nexport const encodingXY: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n const { datasetReshapeInfo, dimensions } = advancedVSeed\n if (!datasetReshapeInfo || !dimensions) {\n return result\n }\n\n const encoding = datasetReshapeInfo.reduce<Encoding>((prev, cur) => {\n const { foldInfo, unfoldInfo } = cur\n\n const isSingleDimension = dimensions.length === 0\n const x = [isSingleDimension ? foldInfo.measureName : dimensions[0].id]\n const y = [foldInfo.measureValue]\n const group = [isSingleDimension ? foldInfo.measureName : unfoldInfo.groupName]\n const color = [foldInfo.measureName]\n\n return [\n ...prev,\n {\n x,\n y,\n group,\n color,\n },\n ] as Encoding\n }, [])\n\n return {\n ...result,\n encoding,\n }\n}\n","import type { AdvancedPipe } from 'src/types'\nimport type { Encoding } from 'src/types'\n\nexport const encodingYX: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n const { datasetReshapeInfo, dimensions } = advancedVSeed\n if (!datasetReshapeInfo || !dimensions) {\n return result\n }\n\n const encoding = datasetReshapeInfo.reduce<Encoding>((prev, cur) => {\n const { foldInfo, unfoldInfo } = cur\n\n const isSingleDimension = dimensions.length === 0\n\n const y = [isSingleDimension ? foldInfo.measureName : dimensions[0].id]\n const x = [foldInfo.measureValue]\n const group = [isSingleDimension ? foldInfo.measureName : unfoldInfo.groupName]\n const color = [foldInfo.measureName]\n\n return [\n ...prev,\n {\n x,\n y,\n group,\n color,\n },\n ] as Encoding\n }, [])\n\n return {\n ...result,\n encoding,\n }\n}\n","import type { AdvancedPipe } from 'src/types'\nimport type { Encoding } from 'src/types'\n\nexport const encodingPolar: AdvancedPipe = (advancedVSeed) => {\n const result = { ...advancedVSeed }\n const { datasetReshapeInfo, dimensions } = advancedVSeed\n if (!datasetReshapeInfo || !dimensions) {\n return result\n }\n\n const encoding = datasetReshapeInfo.reduce<Encoding>((prev, cur) => {\n const { foldInfo, unfoldInfo } = cur\n\n const radius = [foldInfo.measureValue]\n const angle = [unfoldInfo.groupName]\n const group = [unfoldInfo.groupName]\n const color = [unfoldInfo.groupName]\n\n return [\n ...prev,\n {\n angle,\n radius,\n group,\n color,\n },\n ] as Encoding\n }, [])\n\n return {\n ...result,\n encoding,\n }\n}\n","import type { AdvancedPipe } from 'src/types'\n\nexport const initAdvancedVSeed: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType = 'table' } = vseed\n return {\n ...advancedVSeed,\n chartType,\n }\n}\n","import type { ExecPipelineType, Pipe } from 'src/types'\n\n/**\n * 执行pipeline, 每个pipe负责构建结果的一部分, 构建完成后得到完整的目标结果\n * @param pipeline pipeline数组, 每个pipe负责构建结果的一部分\n * @param initialValue 初始值\n * @param context 上下文\n * @returns 执行后的结果\n */\nexport const execPipeline: ExecPipelineType = <T, U>(\n pipeline: Array<Pipe<T, U>>,\n context: U,\n initialValue: Partial<T> = {},\n): T => {\n const result = pipeline.reduce((prev, cur) => {\n return cur(prev, context)\n }, initialValue)\n return result as T\n}\n","import type { AdvancedVSeed, ChartType, MeasureGroup, VSeed } from 'src/types'\n\nexport const isVTable = (chartType: ChartType) => {\n return ['table', 'pivotTable'].includes(chartType)\n}\n\nexport const isVChart = (chartType: ChartType) => {\n return !isVTable(chartType)\n}\n\nexport const isPivotChart = (vseed: VSeed | AdvancedVSeed) => {\n const { measures, dimensions } = vseed\n \n const hasRowOrColumnDimension =\n dimensions &&\n dimensions.some((dimension) => dimension.location === 'rowDimension' || dimension.location === 'columnDimension')\n const hasMeasureGroup = measures && measures.find((measure: MeasureGroup) => measure && measure.children)\n\n return hasRowOrColumnDimension || hasMeasureGroup\n}\n","import { isPivotChart } from '../../../utils'\nimport type { AdvancedPipe, Datum, MeasureGroup } from 'src/types'\n\nexport const autoMeasures: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { measures, dataset } = vseed\n\n if (!dataset) {\n throw new Error('dataset is required')\n }\n\n if (dataset.length === 0) {\n return result\n }\n\n if (isPivotChart(vseed)) {\n return autoMeasureGroup(advancedVSeed, context)\n }\n\n if (measures) {\n result.measures = measures\n return result\n }\n\n const top100dataset = dataset.slice(0, 100)\n\n const sample = top100dataset.reduce<Datum>((prev, cur) => {\n return { ...prev, ...cur }\n }, {})\n\n result.measures = Object.keys(sample)\n .filter((key) => {\n return top100dataset.some((item) => typeof item[key] === 'number') && !['', null, undefined].includes(key)\n })\n .map((measure) => ({\n id: measure,\n alias: measure,\n }))\n\n return result\n}\n\nconst autoMeasureGroup: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { measures } = vseed\n const hasMeasureGroup = measures?.some((measure: MeasureGroup) => measure.children)\n\n if (!measures) {\n return advancedVSeed\n }\n\n // 没有指标组, 则自动添加一个指标组\n if (!hasMeasureGroup) {\n const newMeasures = [\n {\n id: 'measureGroup',\n alias: 'measureGroup',\n children: measures,\n },\n ]\n return {\n ...advancedVSeed,\n measures: newMeasures,\n }\n }\n\n // 存在指标组, 则任意连续的独立指标成组\n let currentGroup: MeasureGroup = createEmptyMeasureGroup()\n const measureGroups: MeasureGroup[] = []\n for (const measure of measures) {\n if ('children' in measure) {\n // 当前指标组之前的所有独立指标成组\n if (currentGroup.children?.length) {\n currentGroup.id = currentGroup.children.map((item) => item.id).join('-')\n currentGroup.alias = currentGroup.children.map((item) => item.alias).join('-')\n measureGroups.push(currentGroup)\n currentGroup = createEmptyMeasureGroup()\n }\n // 当前是指标组\n measureGroups.push(measure)\n } else {\n currentGroup.children?.push(measure)\n }\n }\n\n // 最后一组\n if (currentGroup.children?.length) {\n currentGroup.id = currentGroup.children.map((item) => item.id).join('-')\n currentGroup.alias = currentGroup.children.map((item) => item.alias).join('-')\n measureGroups.push(currentGroup)\n currentGroup = createEmptyMeasureGroup()\n }\n\n advancedVSeed.measures = measureGroups\n return advancedVSeed\n}\n\nconst createEmptyMeasureGroup = () => {\n return {\n id: '',\n alias: '',\n children: [],\n }\n}\n","import type { AdvancedPipe, Datum } from 'src/types'\n\nexport const autoDimensions: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dimensions, dataset } = vseed\n\n const { measures = [] } = advancedVSeed\n if (!dataset) {\n throw new Error('dataset is required')\n }\n\n if (dataset.length === 0) {\n return result\n }\n\n if (dimensions) {\n result.dimensions = dimensions\n return result\n }\n\n const top100dataset = dataset.slice(0, 100)\n\n const sample = top100dataset.reduce<Datum>((prev, cur) => {\n return { ...prev, ...cur }\n }, {})\n\n result.dimensions = Object.keys(sample)\n .filter(\n (key) =>\n top100dataset.some((item) => typeof item[key] === 'string') &&\n !['', null, undefined].includes(key) &&\n !measures.some((measure) => measure.id === key),\n )\n .map((dim) => ({\n id: dim,\n alias: dim,\n location: 'dimension',\n }))\n\n return result\n}\n","import { pick } from 'remeda'\nimport type { AdvancedPipe, VChartBaseConfig, VTableBaseConfig } from 'src/types'\n\nexport const vchartBaseConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n\n const result = {\n ...advancedVSeed,\n }\n\n const config: VChartBaseConfig = pick(vseed, ['backgroundColor', 'color', 'label', 'legend', 'tooltip'])\n\n result.baseConfig = {\n vchart: {\n ...config,\n },\n }\n return result\n}\n\nexport const vtableBaseConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const config: VTableBaseConfig = pick(vseed, ['backgroundColor'])\n\n return {\n ...advancedVSeed,\n baseConfig: {\n vtable: {\n ...config,\n },\n },\n }\n}\n","import { clone, mergeDeep } from 'remeda'\nimport type { AdvancedPipe } from 'src/types'\n\nexport const vchartTheme: AdvancedPipe = (advancedVSeed, context) => {\n const { customTheme, vseed } = context\n const { theme = 'light' } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n if (!customTheme || !customTheme[theme]) {\n return result\n }\n const config = result.baseConfig?.vchart\n const themeConfig = customTheme?.[theme].baseConfig?.vchart\n\n if (!themeConfig || !config) {\n return result\n }\n\n const mergedConfig = mergeDeep(themeConfig, clone(config))\n result.baseConfig = {\n vchart: mergedConfig,\n }\n return result\n}\n\nexport const vtableTheme: AdvancedPipe = (advancedVSeed, context) => {\n const { customTheme, vseed } = context\n const { theme = 'light' } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n if (!customTheme || !customTheme[theme]) {\n return result\n }\n\n const config = result.baseConfig?.vtable\n const themeConfig = customTheme?.[theme].baseConfig?.vtable\n\n if (!themeConfig || !config) {\n return result\n }\n\n const mergedConfig = mergeDeep(themeConfig, clone(config))\n result.baseConfig = {\n vchart: mergedConfig,\n }\n return result\n}\n","import type { AdvancedPipe, AdvancedPipeline, AdvancedPipelineContext, AdvancedVSeed } from 'src/types'\nimport { execPipeline, isPivotChart } from '../../../utils'\n\nexport const pivotAdapter = (pipeline: AdvancedPipeline, pivotPipeline: AdvancedPipeline): AdvancedPipe => {\n return (advancedVSeed, context) => {\n const { vseed } = context\n const usePivotChart = isPivotChart(vseed)\n\n if (usePivotChart) {\n return execPipeline<AdvancedVSeed, AdvancedPipelineContext>(pivotPipeline, context, advancedVSeed)\n }\n\n return execPipeline<AdvancedVSeed, AdvancedPipelineContext>(pipeline, context, advancedVSeed)\n }\n}\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n reshapeTo2D1M,\n vchartBaseConfig,\n vchartTheme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n} from '../pipes'\n\nexport const lineAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n encodingYX,\n vchartBaseConfig,\n vchartTheme,\n autoMeasures,\n autoDimensions,\n reshapeTo2D1M,\n pivotReshapeTo2D1M,\n pivotAdapter,\n} from '../pipes'\n\nexport const barAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingYX,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingYX,\n initAdvancedVSeed,\n reshapeTo2D1M,\n vchartBaseConfig,\n vchartTheme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n} from '../pipes'\n\nexport const barParallelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingYX,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingYX,\n initAdvancedVSeed,\n reshapeTo2D1M,\n vchartBaseConfig,\n vchartTheme,\n pivotAdapter,\n pivotReshapeTo2D1M\n} from '../pipes'\n\nexport const barPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingYX,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n reshapeTo2D1M,\n vchartBaseConfig,\n vchartTheme,\n pivotAdapter,\n} from '../pipes'\nimport { pivotReshapeTo2D1M } from '../pipes/reshape/pivotReshapeTo2D1M'\n\nexport const columnAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n reshapeTo2D1M,\n vchartBaseConfig,\n vchartTheme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n} from '../pipes'\n\nexport const columnParallelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n vchartBaseConfig,\n vchartTheme,\n reshapeTo2D1M,\n pivotReshapeTo2D1M,\n pivotAdapter,\n} from '../pipes'\n\nexport const columnPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n pivotReshapeTo2D1M,\n reshapeTo2D1M,\n vchartBaseConfig,\n vchartTheme,\n pivotAdapter,\n} from '../pipes'\n\nexport const areaAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n encodingXY,\n initAdvancedVSeed,\n reshapeTo2D1M,\n vchartBaseConfig,\n vchartTheme,\n pivotAdapter,\n pivotReshapeTo2D1M,\n} from '../pipes'\n\nexport const areaPercentAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo2D1M], [pivotReshapeTo2D1M]),\n encodingXY,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { AdvancedPipeline } from 'src/types'\nimport {\n autoDimensions,\n autoMeasures,\n initAdvancedVSeed,\n vchartBaseConfig,\n vchartTheme,\n pivotAdapter,\n reshapeTo1D1M,\n pivotReshapeTo1D1M,\n encodingPolar,\n} from '../pipes'\n\nexport const pieAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n autoMeasures,\n autoDimensions,\n pivotAdapter([reshapeTo1D1M], [pivotReshapeTo1D1M]),\n encodingPolar,\n vchartBaseConfig,\n vchartTheme,\n]\n","import type { ISpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const dataset: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n return {\n ...spec,\n data: {\n values: advancedVSeed.dataset,\n },\n } as ISpec\n}\n","import type { ISpec } from '@visactor/vchart'\nimport type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { SpecPipe } from 'src/types'\n\nexport const datasetPivot: SpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { dataset, datasetReshapeInfo } = advancedVSeed\n const records = dataset.reduce((pre, cur, index) => {\n const id = datasetReshapeInfo[index].id\n pre[id] = cur\n return pre\n }, {})\n return {\n ...result,\n records: records,\n } as PivotChartConstructorOptions\n}\n\nexport const datasetPivotPlaceholder: SpecPipe = (spec) => {\n return {\n ...spec,\n data: {\n id: 'placeholderDataId',\n },\n } as ISpec\n}\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initColumn: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'bar'\n result.direction = 'vertical'\n result.xField = encoding[0].x[0]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n return result\n}\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initBar: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'bar'\n result.direction = 'horizontal'\n result.yField = encoding[0].y?.[0]\n result.xField = encoding[0].x?.[0]\n result.seriesField = encoding[0].group?.[0]\n result.padding = 0\n return result\n}\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initBarParallel: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { encoding, datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'bar'\n result.direction = 'horizontal'\n result.yField = [encoding[0].y[0], unfoldInfo.groupName] as string[]\n result.xField = encoding[0].x[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n return result\n}\n","import type { IAreaChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initArea: SpecPipe = (spec, context) => {\n const result = { ...spec } as IAreaChartSpec\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'area'\n result.direction = 'vertical'\n result.xField = encoding[0].x[0]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n return result\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initLine: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'line'\n result.direction = 'vertical'\n result.xField = encoding[0].x[0]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n return result\n}\n","import type { IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initColumnParallel: SpecPipe = (spec, context) => {\n const result = { ...spec } as IBarChartSpec\n const { advancedVSeed } = context\n const { encoding, datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n if (!encoding[0].y || !encoding[0].x || !encoding[0].group) {\n return result\n }\n\n result.type = 'bar'\n result.direction = 'vertical'\n result.xField = [encoding[0].x[0], unfoldInfo.groupName]\n result.yField = encoding[0].y[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n return result\n}\n","import type { IPieChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const initPie: SpecPipe = (spec, context) => {\n const result = { ...spec } as IPieChartSpec\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n\n if (!encoding[0].angle || !encoding[0].radius || !encoding[0].group) {\n return result\n }\n\n result.type = 'pie'\n result.outerRadius = 0.8\n result.innerRadius = 0\n result.valueField = encoding[0].radius[0]\n result.categoryField = encoding[0].angle[0]\n result.seriesField = encoding[0].group[0]\n result.padding = 0\n return result\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { SpecPipe } from 'src/types'\n\nexport const initPivot: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n rows: [],\n columns: [],\n indicators: [],\n records: [],\n widthMode: 'adaptive',\n heightMode: 'adaptive',\n indicatorsAsCol: false,\n }\n}\n\n\n\nexport const pivotIndicatorsAsRow: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n","import type { ISpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const xBand: SpecPipe = (spec) => {\n const result = { ...spec } as ISpec\n\n if (!result.axes) {\n result.axes = []\n }\n\n result.axes = [\n ...result.axes,\n {\n visible: true,\n type: 'band',\n orient: 'bottom',\n },\n ] as ISpec['axes']\n\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const xLinear: SpecPipe = (spec) => {\n const result = { ...spec } as ISpec\n\n if (!result.axes) {\n result.axes = []\n }\n\n result.axes = [\n ...result.axes,\n {\n visible: true,\n type: 'linear',\n orient: 'bottom',\n nice: true,\n zero: true,\n },\n ] as ISpec['axes']\n\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const yBand: SpecPipe = (spec) => {\n const result = { ...spec } as ISpec\n\n if (!result.axes) {\n result.axes = []\n }\n\n result.axes = [\n ...result.axes,\n {\n visible: true,\n type: 'band',\n orient: 'left',\n },\n ] as ISpec['axes']\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const yLinear: SpecPipe = (spec) => {\n const result = { ...spec } as ISpec\n\n if (!result.axes) {\n result.axes = []\n }\n\n result.axes = [\n ...result.axes,\n {\n visible: true,\n type: 'linear',\n orient: 'left',\n nice: true,\n zero: true,\n },\n ] as ISpec['axes']\n\n return result\n}\n","import { IAreaChartSpec, IBarChartSpec } from '@visactor/vchart'\nimport { SpecPipe } from 'src/types'\n\nexport const percent: SpecPipe = (spec, context) => {\n const result = { ...spec } as IAreaChartSpec | IBarChartSpec\n result.percent = true\n return result\n}\n","import { IAreaChartSpec, IBarChartSpec } from '@visactor/vchart'\nimport { SpecPipe } from 'src/types'\n\nexport const stack: SpecPipe = (spec, context) => {\n const result = { ...spec } as IAreaChartSpec | IBarChartSpec\n result.stack = true\n return result\n}\n","import type { ISpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const backgroundColor: SpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed } = context\n const { baseConfig } = advancedVSeed\n if (!baseConfig?.vchart) {\n return result\n }\n const { backgroundColor } = baseConfig.vchart\n return {\n ...result,\n background: backgroundColor,\n }\n}\n","import type { SpecPipe, Tooltip } from 'src/types'\n\nconst defaultTooltip: Tooltip = {\n enable: true,\n}\n\nexport const tooltip: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const baseConfig = advancedVSeed.baseConfig.vchart as { tooltip: Tooltip }\n const { tooltip = defaultTooltip } = baseConfig\n\n const { enable } = tooltip\n\n result.tooltip = {\n visible: enable,\n }\n return result\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { Label, SpecPipe } from 'src/types'\n\nexport const label: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const baseConfig = advancedVSeed.baseConfig.vchart\n\n if (!baseConfig || !baseConfig.label) {\n return result\n }\n\n const { label } = baseConfig\n const { enable } = label as Label\n\n result.label = {\n visible: enable,\n }\n return result\n}\n","import type { Legend, SpecPipe } from 'src/types'\n\nconst defaultLegend = {\n enable: true,\n}\n\nexport const legend: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const baseConfig = advancedVSeed.baseConfig.vchart\n if (!baseConfig || !baseConfig.legend) {\n return result\n }\n\n const { legend = defaultLegend } = baseConfig\n const { enable } = legend as Legend\n\n result.legends = {\n visible: enable,\n }\n return result\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { IDiscreteTableLegendOption } from '@visactor/vtable/es/ts-types/component/legend'\nimport { unique } from 'remeda'\nimport type { Color, Legend, SpecPipe } from 'src/types'\n\nexport const pivotLegend: SpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const baseConfig = advancedVSeed.baseConfig.vchart\n if (!baseConfig || !baseConfig.legend) {\n return result\n }\n\n const { datasetReshapeInfo } = advancedVSeed\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n\n const { legend, color } = baseConfig\n const { enable } = legend as Legend\n const { colorScheme } = color as Color\n\n const legends: IDiscreteTableLegendOption = {\n visible: enable,\n alignSelf: 'end',\n type: 'discrete',\n position: 'middle',\n data: colorItems.map((d, index) => ({\n label: d,\n shape: {\n symbolType: 'square',\n fill: colorScheme[index],\n },\n })),\n item: {\n background: {\n visible: true,\n state: {\n selectedHover: {\n fill: '#000000',\n fillOpacity: 0.05,\n },\n },\n },\n label: {\n style: {\n fontSize: 12,\n fill: '#6F6F6F',\n },\n },\n },\n orient: 'bottom',\n } as unknown as IDiscreteTableLegendOption\n return { ...result, legends }\n}\n","import type { ILineChartSpec } from '@visactor/vchart'\nimport type { Color, SpecPipe } from 'src/types'\n\nexport const color: SpecPipe = (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const baseConfig = advancedVSeed.baseConfig.vchart\n if (!baseConfig || !baseConfig.color) {\n return result\n }\n\n const { color } = baseConfig\n const { colorScheme, colorMapping } = color as Color\n\n result.color = {\n type: 'ordinal',\n domain: unfoldInfo.colorItems,\n range: colorScheme,\n specified: colorMapping,\n }\n return result\n}\n","import type { Spec, SpecPipe, SpecPipeline, SpecPipelineContext } from 'src/types'\nimport { execPipeline, isPivotChart } from '../../../utils'\n\nexport const pivotAdapter = (pipeline: SpecPipeline, pivotPipeline: SpecPipeline): SpecPipe => {\n return (spec, context) => {\n const { vseed } = context\n const usePivotChart = isPivotChart(vseed)\n\n if (usePivotChart) {\n return execPipeline<Spec, SpecPipelineContext>(pivotPipeline, context, spec)\n }\n\n return execPipeline<Spec, SpecPipelineContext>(pipeline, context, spec)\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline } from '../../../utils'\nimport type { SpecPipe, SpecPipeline, SpecPipelineContext } from 'src/types'\nimport { unique } from 'remeda'\n\nexport const pivotIndicators =\n (chartPipeline: SpecPipeline): SpecPipe =>\n (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, encoding } = advancedVSeed\n\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n\n const indicators = datasetReshapeInfo.map((reshapeInfo, index) => {\n const measure = measures?.find((d) => d.id === reshapeInfo.id)\n\n const newEncoding = [encoding[index]]\n const newDatasetReshapeInfo = [{ ...reshapeInfo, unfoldInfo: { ...reshapeInfo.unfoldInfo, colorItems } }]\n\n const newContext: SpecPipelineContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n datasetReshapeInfo: newDatasetReshapeInfo,\n encoding: newEncoding,\n },\n }\n\n const chartSpec = execPipeline(chartPipeline, newContext, {})\n return {\n indicatorKey: reshapeInfo.id,\n title: measure?.alias,\n cellType: 'chart',\n chartModule: 'vchart',\n chartSpec: chartSpec,\n style: {\n padding: [1, 1, 0, 1],\n },\n }\n })\n\n return {\n ...result,\n indicators: indicators,\n } as PivotChartConstructorOptions\n }\n\nexport const pivotIndicatorsAsRow: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { SpecPipe } from 'src/types'\n\nexport const pivotGridStyle: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const transparent = 'rgba(0,0,0,0)'\n return {\n ...result,\n theme: {\n underlayBackgroundColor: transparent,\n bodyStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: [0, 0, 2, 0],\n bgColor: transparent,\n padding: [0, 0, 1, 0],\n },\n headerStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n fontSize: 12,\n color: '#333333',\n textAlign: 'center',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: 'rgba(178,186,207, 0.2)',\n },\n },\n rowHeaderStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n fontSize: 12,\n color: '#333333',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: 'rgba(178,186,207, 0.2)',\n },\n },\n cornerHeaderStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n textAlign: 'center',\n fontSize: 12,\n color: '#333333',\n fontWeight: 'bold',\n borderLineWidth: [0, 0, 0, 0],\n bgColor: transparent,\n hover: {\n cellBgColor: '',\n },\n },\n cornerRightTopCellStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: '',\n },\n },\n cornerLeftBottomCellStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: '',\n },\n },\n cornerRightBottomCellStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: '',\n },\n },\n rightFrozenStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: 'rgba(178,186,207, 0.2)',\n },\n },\n bottomFrozenStyle: {\n borderColor: 'rgba(0,4,20,0.2)',\n borderLineWidth: 0,\n bgColor: transparent,\n hover: {\n cellBgColor: 'rgba(178,186,207, 0.2)',\n },\n },\n selectionStyle: {\n cellBgColor: '',\n cellBorderColor: '',\n },\n frameStyle: {\n borderLineWidth: 0,\n bgColor: transparent,\n },\n },\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { IBasicDimension } from '@visactor/vtable/es/ts-types/pivot-table/dimension/basic-dimension'\nimport type { SpecPipe } from 'src/types'\n\nexport const pivotColumnDimensions: SpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { dimensions } = advancedVSeed\n if (!dimensions) {\n return result\n }\n const columnDimensions = dimensions.filter((dim) => dim.location === 'columnDimension')\n const columns: IBasicDimension[] = columnDimensions.map((dim) => ({\n dimensionKey: dim.id,\n title: dim.alias || dim.id,\n }))\n return {\n ...result,\n columns: columns,\n }\n}\n","import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { IBasicDimension } from '@visactor/vtable/es/ts-types/pivot-table/dimension/basic-dimension'\nimport type { SpecPipe } from 'src/types'\n\nexport const pivotRowDimensions: SpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { dimensions } = advancedVSeed\n if (!dimensions) {\n return result\n }\n const rowDimensions = dimensions.filter((dim) => dim.location === 'rowDimension')\n const rows: IBasicDimension[] = rowDimensions.map((dim) => ({\n dimensionKey: dim.id,\n title: dim.alias || dim.id,\n }))\n return {\n ...result,\n rows: rows,\n }\n}\n","import type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n xBand,\n yLinear,\n initLine,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n initPivot,\n datasetPivot,\n datasetPivotPlaceholder,\n pivotLegend,\n pivotIndicators,\n pivotAdapter,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n} from '../pipes'\n\nconst line: SpecPipeline = [initLine, color, backgroundColor, dataset, xBand, yLinear, label, tooltip, legend]\n\nconst pivotLine: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([initLine, color, backgroundColor, datasetPivotPlaceholder, xBand, yLinear, label, tooltip]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotLegend,\n]\n\nexport const lineSpecPipeline: SpecPipeline = [pivotAdapter(line, pivotLine)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n initColumn,\n dataset,\n xBand,\n yLinear,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n datasetPivotPlaceholder,\n pivotIndicators,\n pivotLegend,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n} from '../pipes'\n\nconst column: SpecPipeline = [initColumn, color, backgroundColor, dataset, xBand, yLinear, label, tooltip, legend]\n\nconst pivotColumn: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([initColumn, color, backgroundColor, datasetPivotPlaceholder, xBand, yLinear, label, tooltip]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotLegend,\n]\n\nexport const columnSpecPipeline = [pivotAdapter(column, pivotColumn)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n xBand,\n yLinear,\n initColumnParallel,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n pivotIndicators,\n initPivot,\n datasetPivot,\n pivotAdapter,\n datasetPivotPlaceholder,\n pivotLegend,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n} from '../pipes'\n\nconst columnParallel: SpecPipeline = [\n initColumnParallel,\n color,\n backgroundColor,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n legend,\n]\n\nconst pivotColumnParallel: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initColumnParallel,\n color,\n backgroundColor,\n datasetPivotPlaceholder,\n xBand,\n yLinear,\n label,\n tooltip,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotLegend,\n]\n\nexport const columnParallelSpecPipeline: SpecPipeline = [pivotAdapter(columnParallel, pivotColumnParallel)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n initColumn,\n dataset,\n xBand,\n yLinear,\n percent,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n datasetPivotPlaceholder,\n pivotAdapter,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotLegend,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n} from '../pipes'\n\nconst columnPercent: SpecPipeline = [\n initColumn,\n color,\n backgroundColor,\n percent,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n legend,\n]\n\nconst pivotColumnPercent: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([\n initColumn,\n color,\n percent,\n backgroundColor,\n datasetPivotPlaceholder,\n xBand,\n yLinear,\n label,\n tooltip,\n ]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotLegend,\n]\n\nexport const columnPercentSpecPipeline: SpecPipeline = [pivotAdapter(columnPercent, pivotColumnPercent)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n initBar,\n dataset,\n xLinear,\n yBand,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotLegend,\n datasetPivotPlaceholder,\n pivotIndicatorsAsCol,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n} from '../pipes'\n\nconst bar: SpecPipeline = [initBar, color, backgroundColor, dataset, xLinear, yBand, label, tooltip, legend]\n\nconst pivotBar: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsCol,\n datasetPivot,\n pivotIndicators([initBar, color, backgroundColor, datasetPivotPlaceholder, yBand, label, label, tooltip]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotLegend,\n]\n\nexport const barSpecPipeline: SpecPipeline = [pivotAdapter(bar, pivotBar)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n xLinear,\n yBand,\n initBarParallel,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n datasetPivotPlaceholder,\n initPivot,\n datasetPivot,\n pivotLegend,\n pivotIndicators,\n pivotAdapter,\n pivotIndicatorsAsCol,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n} from '../pipes'\n\nconst barParallel: SpecPipeline = [\n initBarParallel,\n color,\n backgroundColor,\n dataset,\n xLinear,\n yBand,\n label,\n tooltip,\n legend,\n]\n\nconst pivotBarParallel: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsCol,\n datasetPivot,\n pivotIndicators([initBarParallel, color, backgroundColor, datasetPivotPlaceholder, yBand, xLinear, label, tooltip]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotLegend,\n]\n\nexport const barParallelSpecPipeline: SpecPipeline = [pivotAdapter(barParallel, pivotBarParallel)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n initBar,\n dataset,\n xLinear,\n yBand,\n percent,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n pivotAdapter,\n initPivot,\n datasetPivot,\n pivotIndicators,\n pivotLegend,\n datasetPivotPlaceholder,\n pivotIndicatorsAsCol,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n} from '../pipes'\n\nconst barPercent: SpecPipeline = [\n initBar,\n color,\n backgroundColor,\n percent,\n dataset,\n xLinear,\n yBand,\n label,\n tooltip,\n legend,\n]\n\nconst pivotBarPercent: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsCol,\n datasetPivot,\n pivotIndicators([initBar, color, backgroundColor, percent, datasetPivotPlaceholder, yBand, xLinear, label, tooltip]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotLegend,\n]\n\nexport const barPercentSpecPipeline: SpecPipeline = [pivotAdapter(barPercent, pivotBarPercent)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n dataset,\n xBand,\n yLinear,\n initArea,\n stack,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n datasetPivotPlaceholder,\n datasetPivot,\n pivotIndicators,\n pivotLegend,\n pivotAdapter,\n initPivot,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotColumnDimensions,\n pivotRowDimensions,\n} from '../pipes'\n\nconst area: SpecPipeline = [initArea, color, backgroundColor, stack, dataset, xBand, yLinear, label, tooltip, legend]\n\nconst pivotArea: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([initArea, color, backgroundColor, stack, datasetPivotPlaceholder, xBand, yLinear, label, tooltip]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotLegend,\n]\n\nexport const areaSpecPipeline = [pivotAdapter(area, pivotArea)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n percent,\n dataset,\n xBand,\n yLinear,\n initArea,\n backgroundColor,\n label,\n tooltip,\n legend,\n color,\n datasetPivotPlaceholder,\n datasetPivot,\n pivotIndicators,\n pivotLegend,\n pivotAdapter,\n initPivot,\n pivotIndicatorsAsRow,\n pivotGridStyle,\n pivotRowDimensions,\n pivotColumnDimensions,\n} from '../pipes'\n\nconst areaPercent: SpecPipeline = [\n initArea,\n color,\n backgroundColor,\n percent,\n dataset,\n xBand,\n yLinear,\n label,\n tooltip,\n legend,\n]\n\nconst pivotAreaPercent: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([initArea, color, backgroundColor, percent, datasetPivotPlaceholder, xBand, yLinear, label, tooltip]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotLegend,\n]\n\nexport const areaPercentSpecPipeline = [pivotAdapter(areaPercent, pivotAreaPercent)]\n","import type { SpecPipeline } from 'src/types'\nimport {\n backgroundColor,\n color,\n dataset,\n datasetPivot,\n datasetPivotPlaceholder,\n initPie,\n initPivot,\n label,\n legend,\n pivotAdapter,\n pivotColumnDimensions,\n pivotGridStyle,\n pivotIndicators,\n pivotIndicatorsAsRow,\n pivotLegend,\n pivotRowDimensions,\n tooltip,\n} from '../pipes'\n\nconst pie: SpecPipeline = [initPie, color, backgroundColor, dataset, label, tooltip, legend]\n\nconst pivotPie: SpecPipeline = [\n initPivot,\n pivotGridStyle,\n pivotIndicatorsAsRow,\n datasetPivot,\n pivotIndicators([initPie, color, backgroundColor, datasetPivotPlaceholder, label, tooltip]),\n pivotRowDimensions,\n pivotColumnDimensions,\n pivotLegend,\n]\n\nexport const pieSpecPipeline: SpecPipeline = [pivotAdapter(pie, pivotPie)]\n","import type { AdvancedPipelineContext, AdvancedVSeed } from 'src/types'\nimport { execPipeline } from '../../pipeline'\nimport type { Builder } from './builder'\n\nexport const buildAdvanced = (builder: Builder): AdvancedVSeed | null => {\n const { chartType } = builder.vseed\n if (!chartType) {\n throw new Error('chartType is nil in buildAdvanced')\n }\n\n const pipeline = builder.getAdvancedPipeline(chartType)\n if (!pipeline) {\n throw new Error(`no advanced pipeline for chartType ${chartType}`)\n }\n\n const context: AdvancedPipelineContext = {\n vseed: builder.vseed,\n customTheme: builder.getThemeMap(),\n }\n\n try {\n return execPipeline<AdvancedVSeed, AdvancedPipelineContext>(pipeline, context)\n } catch (e) {\n console.error(e)\n throw new Error(`buildAdvanced error, see error info in console`)\n }\n}\n","import type { Spec } from 'src/types'\nimport type { Builder } from './builder'\nimport type { AdvancedVSeed, SpecPipelineContext } from 'src/types'\nimport { execPipeline } from '../../pipeline'\n\nexport const buildSpec = (builder: Builder, advancedVSeed: AdvancedVSeed): Spec => {\n const { chartType } = builder.vseed\n if (!chartType) {\n throw new Error('chartType is nil in buildSpec')\n }\n\n const pipeline = builder.getSpecPipeline(chartType)\n if (!pipeline) {\n throw new Error(`no spec pipeline for chartType ${chartType}`)\n }\n\n const context: SpecPipelineContext = {\n vseed: builder.vseed,\n advancedVSeed,\n }\n try {\n return execPipeline<Spec, SpecPipelineContext>(pipeline, context)\n } catch (e) {\n console.error(e)\n throw new Error(`buildSpec error, see error info in console`)\n }\n}\n","import type { Spec } from 'src/types'\nimport type { Builder } from './builder'\n\nexport const build = (builder: Builder): Spec => {\n console.log('debug vseed', builder.vseed)\n const advancedVSeed = builder.buildAdvanced()\n console.log('debug advancedVSeed', advancedVSeed)\n if (!advancedVSeed) {\n throw new Error('advancedVSeed is null')\n }\n const spec = builder.buildSpec(advancedVSeed)\n console.log('debug spec', spec)\n return spec\n}\n","import type {\n AdvancedPipeline,\n AdvancedVSeed,\n ChartType,\n CustomThemeConfig,\n SpecPipeline,\n VSeed,\n VSeedBuilder,\n} from 'src/types'\nimport { buildAdvanced } from './buildAdvanced'\nimport { buildSpec } from './buildSpec'\nimport { build } from './build'\n\nexport class Builder implements VSeedBuilder {\n private _vseed: VSeed\n private _advancedVSeed: AdvancedVSeed | null = null\n\n constructor(vseed: VSeed) {\n this._vseed = vseed\n }\n\n build = () => build(this)\n\n buildSpec = (advanced: AdvancedVSeed) => buildSpec(this, advanced)\n\n buildAdvanced = () => buildAdvanced(this)\n\n getAdvancedPipeline = (chartType: ChartType) => Builder._advancedPipelineMap[chartType] as AdvancedPipeline\n getSpecPipeline = (chartType: ChartType) => Builder._specPipelineMap[chartType] as SpecPipeline\n getTheme = (themeKey: string) => Builder._themeMap[themeKey]\n getThemeMap = () => Builder._themeMap\n\n get vseed() {\n return this._vseed\n }\n\n set vseed(value) {\n this._vseed = value\n }\n\n get advancedVSeed() {\n return this._advancedVSeed\n }\n\n set advancedVSeed(value) {\n this._advancedVSeed = value\n }\n\n static _advancedPipelineMap: Partial<Record<ChartType, AdvancedPipeline>> = {}\n static _specPipelineMap: Partial<Record<ChartType, SpecPipeline>> = {}\n static _themeMap: Record<string, CustomThemeConfig> = {}\n static from = (vseed: VSeed) => new Builder(vseed)\n}\n","import {\n areaAdvancedPipeline,\n areaPercentAdvancedPipeline,\n areaPercentSpecPipeline,\n areaSpecPipeline,\n barAdvancedPipeline,\n barParallelAdvancedPipeline,\n barParallelSpecPipeline,\n barPercentAdvancedPipeline,\n barPercentSpecPipeline,\n barSpecPipeline,\n columnAdvancedPipeline,\n columnParallelAdvancedPipeline,\n columnParallelSpecPipeline,\n columnPercentAdvancedPipeline,\n columnPercentSpecPipeline,\n columnSpecPipeline,\n lineAdvancedPipeline,\n lineSpecPipeline,\n pieAdvancedPipeline,\n pieSpecPipeline,\n} from '../../pipeline'\nimport { Builder } from '../builder'\n\nexport const registerAll = () => {\n registerLine()\n registerColumn()\n registerColumnParallel()\n registerColumnPercent()\n registerBar()\n registerBarParallel()\n registerBarPercent()\n registerArea()\n registerAreaPercent()\n}\n\nexport const registerColumn = () => {\n Builder._advancedPipelineMap['column'] = columnAdvancedPipeline\n Builder._specPipelineMap['column'] = columnSpecPipeline\n}\n\nexport const registerBar = () => {\n Builder._advancedPipelineMap['bar'] = barAdvancedPipeline\n Builder._specPipelineMap['bar'] = barSpecPipeline\n}\n\nexport const registerLine = () => {\n Builder._advancedPipelineMap['line'] = lineAdvancedPipeline\n Builder._specPipelineMap['line'] = lineSpecPipeline\n}\n\nexport const registerArea = () => {\n Builder._advancedPipelineMap['area'] = areaAdvancedPipeline\n Builder._specPipelineMap['area'] = areaSpecPipeline\n}\n\nexport const registerAreaPercent = () => {\n Builder._advancedPipelineMap['areaPercent'] = areaPercentAdvancedPipeline\n Builder._specPipelineMap['areaPercent'] = areaPercentSpecPipeline\n}\n\nexport const registerBarPercent = () => {\n Builder._advancedPipelineMap['barPercent'] = barPercentAdvancedPipeline\n Builder._specPipelineMap['barPercent'] = barPercentSpecPipeline\n}\n\nexport const registerColumnPercent = () => {\n Builder._advancedPipelineMap['columnPercent'] = columnPercentAdvancedPipeline\n Builder._specPipelineMap['columnPercent'] = columnPercentSpecPipeline\n}\n\nexport const registerColumnParallel = () => {\n Builder._advancedPipelineMap['columnParallel'] = columnParallelAdvancedPipeline\n Builder._specPipelineMap['columnParallel'] = columnParallelSpecPipeline\n}\n\nexport const registerBarParallel = () => {\n Builder._advancedPipelineMap['barParallel'] = barParallelAdvancedPipeline\n Builder._specPipelineMap['barParallel'] = barParallelSpecPipeline\n}\n\nexport const registerPie = () => {\n Builder._advancedPipelineMap['pie'] = pieAdvancedPipeline\n Builder._specPipelineMap['pie'] = pieSpecPipeline\n}\n","import type { CustomThemeConfig } from 'src/types'\n\nexport const darkTheme = (): CustomThemeConfig => {\n return {\n baseConfig: {\n vtable: {\n backgroundColor: '#141414',\n },\n vchart: {\n backgroundColor: '#141414',\n color: {\n colorScheme: [\n '#2E62F1',\n '#4DC36A',\n '#FF8406',\n '#FFCC00',\n '#4F44CF',\n '#5AC8FA',\n '#003A8C',\n '#B08AE2',\n '#FF6341',\n '#98DD62',\n ],\n },\n label: {\n enable: true,\n },\n tooltip: {\n enable: true,\n },\n legend: {\n enable: true,\n },\n },\n },\n }\n}\n","import type { CustomThemeConfig } from 'src/types'\n\nexport const lightTheme = (): CustomThemeConfig => {\n return {\n baseConfig: {\n vtable: {\n backgroundColor: '#ffffff',\n },\n vchart: {\n backgroundColor: '#ffffff',\n color: {\n colorScheme: [\n '#8D72F6',\n '#5766EC',\n '#66A3FE',\n '#51D5E6',\n '#4EC0B3',\n '#F9DF90',\n '#F9AD71',\n '#ED8888',\n '#E9A0C3',\n '#D77DD3',\n ],\n },\n label: {\n enable: true,\n },\n tooltip: {\n enable: true,\n },\n legend: {\n enable: true,\n },\n },\n },\n }\n}\n","import type { CustomThemeConfig } from 'src/types'\nimport { Builder } from '../builder'\nimport { darkTheme, lightTheme } from '../../theme'\n\nexport const registerCustomTheme = (key: string, themeConfig: CustomThemeConfig) => {\n Builder._themeMap[key] = themeConfig\n}\n\nexport const registerLightTheme = () => {\n registerCustomTheme('light', lightTheme())\n}\n\nexport const registerDarkTheme = () => {\n registerCustomTheme('dark', darkTheme())\n}\n","import {\n registerArea,\n registerAreaPercent,\n registerBar,\n registerBarParallel,\n registerBarPercent,\n registerColumn,\n registerColumnParallel,\n registerColumnPercent,\n registerLine,\n registerPie,\n} from './chartType'\nimport { registerDarkTheme, registerLightTheme } from './theme'\n\nexport const registerAll = () => {\n // ChartType\n registerLine()\n registerColumn()\n registerColumnParallel()\n registerColumnPercent()\n registerBar()\n registerBarParallel()\n registerBarPercent()\n registerArea()\n registerAreaPercent()\n registerPie()\n\n // Theme\n registerLightTheme()\n registerDarkTheme()\n}\n","import { z } from 'zod'\n\nexport type ChartType =\n | 'table'\n | 'pivotTable'\n | 'line'\n | 'column'\n | 'columnPercent'\n | 'columnParallel'\n | 'bar'\n | 'barPercent'\n | 'barParallel'\n | 'area'\n | 'areaPercent'\n | 'rose'\n | 'pie'\n | 'donut'\n | 'dualAxis'\n\nexport enum ChartTypeEnum {\n Table = 'table',\n PivotTable = 'pivotTable',\n Line = 'line',\n Column = 'column',\n ColumnPercent = 'columnPercent',\n ColumnParallel = 'columnParallel',\n Bar = 'bar',\n BarPercent = 'barPercent',\n BarParallel = 'barParallel',\n Area = 'area',\n AreaPercent = 'areaPercent',\n Rose = 'rose',\n Pie = 'pie',\n Donut = 'donut',\n DualAxis = 'dualAxis',\n}\n\nexport const zChartType = z.enum([\n 'table',\n 'pivotTable',\n 'line',\n 'column',\n 'columnPercent',\n 'columnParallel',\n 'bar',\n 'barPercent',\n 'barParallel',\n 'area',\n 'areaPercent',\n 'rose',\n 'pie',\n 'donut',\n 'dualAxis',\n])\n","import { z } from 'zod'\n\n/**\n * example dataset link:\n * [\n * { date: '2019', 20001:'type', profit:10, sales: null, },\n * { date: '2020', 20001:'type', profit:30, sales: -1.1, },\n * { date: '2021', 20001:'type', profit:30, sales: 1, },\n * { date: '2023', 20001:'type', profit:40, sales: undefined, },\n * { date: '2022', 20001:'type', profit:50, sales: 100, },\n * ]\n */\nexport const zDatum = z.record(z.string().or(z.number()), z.any())\nexport const zDataset = z.array(zDatum)\n\nexport type Datum = z.infer<typeof zDatum>\nexport type Dataset = z.infer<typeof zDataset>\n","import { z } from 'zod'\n\nexport const zDimension = z.object({\n id: z.string(),\n alias: z.string().optional(),\n visible: z.boolean().default(true).optional(),\n location: z.enum(['dimension', 'rowDimension', 'columnDimension']),\n})\n\nexport const zDimensions = z.array(zDimension).optional()\n\nexport type Dimension = z.infer<typeof zDimension>\n\nexport type Dimensions = z.infer<typeof zDimensions>\n","import { z } from 'zod'\n\nexport const zMeasure = z.object({\n id: z.string(),\n alias: z.string().optional(),\n visible: z.boolean().default(true).optional(),\n autoFormat: z.boolean().default(true).optional(),\n format: z\n .object({\n type: z\n .enum(['number', 'percent', 'permille'])\n .optional()\n .default('number'),\n ratio: z.number().optional().default(1),\n symbol: z.string().optional().default(''),\n thousandSeparator: z.boolean().optional().default(false),\n decimalPlaces: z.number().optional().default(2),\n round: z.enum(['round', 'floor', 'ceil']).optional().default('round'),\n prefix: z.string().optional().default(''),\n suffix: z.string().optional().default(''),\n })\n .optional(),\n})\n\nexport const zMeasureGroup = z.object({\n id: z.string(),\n alias: z.string().optional(),\n visible: z.boolean().default(true).optional(),\n get children() {\n return z.array(zMeasureGroup.or(zMeasure)).optional()\n },\n})\n\nexport const zMeasures = z.array(zMeasureGroup.or(zMeasure)).optional()\n\nexport type Measures = z.infer<typeof zMeasures>\nexport type Measure = z.infer<typeof zMeasure>\nexport type MeasureGroup = z.infer<typeof zMeasureGroup>\n","import { z } from 'zod'\n\nexport type FoldInfo = {\n foldMap: Record<string, string | undefined>\n measureId: string\n measureName: string\n measureValue: string\n}\n\nexport type UnfoldInfo = {\n groupName: string\n colorItems: string[]\n}\n\nexport const zFoldInfo = z.object({\n foldMap: z.record(z.string(), z.string().or(z.undefined())),\n measureId: z.string(),\n measureName: z.string(),\n measureValue: z.string(),\n})\nexport const zUnfoldInfo = z.object({\n colorItems: z.array(z.string()),\n groupName: z.string(),\n})\n\nexport const zDatasetReshapeInfo = z.array(\n z.object({\n id: z.string(),\n foldInfo: zFoldInfo,\n unfoldInfo: zUnfoldInfo,\n }),\n)\n\nexport type DatasetReshapeInfo = z.infer<typeof zDatasetReshapeInfo>\n","import { z } from 'zod'\n\nexport const zEncoding = z.array(\n z.object({\n x: z.array(z.string()).optional(),\n y: z.array(z.string()).optional(),\n color: z.array(z.string()).optional(),\n group: z.array(z.string()).optional(),\n angle: z.array(z.string()).optional(),\n radius: z.array(z.string()).optional(),\n tooltip: z.array(z.string()).optional(),\n }),\n)\n\nexport type Encoding = Array<{\n x?: string[]\n y?: string[]\n color?: string[]\n group?: string[]\n angle?: string[]\n radius?: string[]\n tooltip?: string[]\n}>\n","import { z } from 'zod'\nexport const zBackgroundColor = z.string().default('transparent').optional()\n\n/**\n * 图表的背景颜色\n * @default transparent 默认为透明背景\n * @description 背景颜色可以是颜色字符串, 例如'red', 'blue', 也可以是hex, rgb或rgba'#ff0000', 'rgba(255,0,0,0.5)'\n */\nexport type BackgroundColor = string | undefined\n","import { z } from 'zod'\n\nexport const zLabel = z.object({\n enable: z.boolean().default(true).optional(),\n})\n\nexport type Label = {\n /**\n * 标签功能是否开启\n * @default true\n */\n enable: boolean\n}\n","import { z } from 'zod'\n\nexport const zColor = z.object({\n colorScheme: z.array(z.string()).optional(),\n colorMapping: z.record(z.string(), z.string()).optional(),\n})\n\nexport type Color = {\n /**\n * 颜色配色方案\n * @description 颜色配色方案用于定义图表中不同元素的颜色\n * @example ['#FFCDD2,#F8BBD0,#E1BEE7,#D1C4E9,#C5CAE9,#BBDEFB,#B3E5FC,#B2EBF2,#B2DFDB,#C8E6C9,#DCEDC8,#F0F4C3,#FFF9C4,#FFECB3,#FFE0B2']\n */\n colorScheme: string[]\n /**\n * 颜色映射\n * @description 颜色映射用于将数据值映射到具体的颜色\n * @example\n * {\n * 'profit': 'red',\n * 'sales': 'blue',\n * }\n */\n colorMapping: Record<string, string>\n}\n","import { z } from 'zod'\n\nexport const zTooltip = z.object({\n enable: z.boolean().default(true).optional(),\n})\n\nexport type Tooltip = {\n /**\n * 提示信息功能是否开启\n * @default true\n */\n enable: boolean\n}\n","import { z } from 'zod'\n\nexport const zLegend = z.object({\n enable: z.boolean().default(true).optional(),\n})\n\nexport type Legend = {\n /**\n * 图例功能是否开启\n * @default true\n */\n enable: boolean\n}\n","import { z } from 'zod'\nimport { zBackgroundColor } from './backgroundColor'\nimport { zLabel } from './label'\nimport { zColor } from './color'\nimport { zTooltip } from './tooltip'\nimport { zLegend } from './legend'\n\nconst zVChartBaseConfig = z.object({\n backgroundColor: zBackgroundColor,\n label: zLabel.optional(),\n color: zColor.optional(),\n tooltip: zTooltip.optional(),\n legend: zLegend.optional(),\n})\n\nconst zVTableBaseConfig = z.object({\n backgroundColor: zBackgroundColor,\n})\n\nexport const zBaseConfig = z.object({\n vchart: zVChartBaseConfig.optional(),\n vtable: zVTableBaseConfig.optional(),\n})\n\nexport type VTableBaseConfig = z.infer<typeof zVTableBaseConfig>\nexport type VChartBaseConfig = z.infer<typeof zVChartBaseConfig>\n","import { z } from 'zod'\nimport { zBaseConfig } from '../baseConfig'\n\nexport const zCustomThemeConfig = z.object({\n baseConfig: zBaseConfig.optional(),\n})\n\nexport const zCustomTheme = z.record(z.string(), zCustomThemeConfig).optional()\n\nexport type CustomTheme = z.infer<typeof zCustomTheme>\nexport type CustomThemeConfig = z.infer<typeof zCustomThemeConfig>\n","import { z } from 'zod'\n\nexport const zTheme = z.string()\n\ntype Light = 'light' & { readonly brand: unique symbol }\ntype Dark = 'dark' & { readonly brand: unique symbol }\n\n/**\n * 主题\n * @default light\n * @description 内置 light、dark 两种主题, 新的主题可以通过registerTheme自定义主题.\n */\nexport type Theme = Light | Dark | string\n"],"names":["FoldMeasureName","FoldMeasureValue","FoldMeasureId","UnfoldDimensionGroup","Separator","unfoldDimensions","dataset","dimensions","measures","unfoldStartIndex","foldGroupName","dimensionsSeparator","Error","dimensionsToBeUnfolded","unfoldInfo","colorItems","i","datum","colorItem","generateDimGroupName","unique","dimensionsToBeGrouped","dim","String","foldMeasures","measureId","measureName","measureValue","foldInfo","result","Array","index","j","measure","id","alias","emptyReshapeResult","dataReshapeFor2D1M","options","foldMeasureId","foldMeasureName","foldMeasureValue","unfoldDimensionGroup","foldedDataset","finalDataset","dataReshapeFor1D1M","reshapeTo2D1M","advancedVSeed","context","vseed","newDatasets","reshapeTo1D1M","pivotReshapeTo1D1M","measureGroups","datasetReshapeInfo","measureGroup","commonDimensions","groupId","newSubDataset","reshapeInfo","pivotReshapeTo2D1M","encodingXY","encoding","prev","cur","isSingleDimension","x","y","group","color","encodingYX","encodingPolar","radius","angle","initAdvancedVSeed","chartType","execPipeline","pipeline","initialValue","isVTable","isVChart","isPivotChart","hasRowOrColumnDimension","dimension","hasMeasureGroup","autoMeasures","autoMeasureGroup","top100dataset","sample","Object","key","item","undefined","newMeasures","currentGroup","createEmptyMeasureGroup","autoDimensions","vchartBaseConfig","config","pick","vchartTheme","customTheme","theme","themeConfig","mergedConfig","mergeDeep","clone","pivotAdapter","pivotPipeline","usePivotChart","lineAdvancedPipeline","barAdvancedPipeline","barParallelAdvancedPipeline","barPercentAdvancedPipeline","columnAdvancedPipeline","columnParallelAdvancedPipeline","columnPercentAdvancedPipeline","areaAdvancedPipeline","areaPercentAdvancedPipeline","pieAdvancedPipeline","spec","datasetPivot","records","pre","datasetPivotPlaceholder","initColumn","initBar","initBarParallel","initArea","initLine","initColumnParallel","initPie","initPivot","xBand","xLinear","yBand","yLinear","percent","stack","backgroundColor","baseConfig","defaultTooltip","tooltip","enable","label","defaultLegend","legend","pivotLegend","d","colorScheme","legends","colorMapping","pivotIndicators","chartPipeline","indicators","newEncoding","newDatasetReshapeInfo","newContext","chartSpec","pivotIndicatorsAsRow","pivotIndicatorsAsCol","pivotGridStyle","transparent","pivotColumnDimensions","columnDimensions","columns","pivotRowDimensions","rowDimensions","rows","line","pivotLine","lineSpecPipeline","column","pivotColumn","columnSpecPipeline","columnParallel","pivotColumnParallel","columnParallelSpecPipeline","columnPercent","pivotColumnPercent","columnPercentSpecPipeline","bar","pivotBar","barSpecPipeline","barParallel","pivotBarParallel","barParallelSpecPipeline","barPercent","pivotBarPercent","barPercentSpecPipeline","area","pivotArea","areaSpecPipeline","areaPercent","pivotAreaPercent","areaPercentSpecPipeline","pie","pivotPie","pieSpecPipeline","buildAdvanced","builder","e","console","buildSpec","build","Builder","advanced","themeKey","value","registerColumn","registerBar","registerLine","registerArea","registerAreaPercent","registerBarPercent","registerColumnPercent","registerColumnParallel","registerBarParallel","registerPie","darkTheme","lightTheme","registerCustomTheme","registerLightTheme","registerDarkTheme","registerAll","zChartType","z","zDatum","zDataset","zDimension","zDimensions","zMeasure","zMeasureGroup","zMeasures","zFoldInfo","zUnfoldInfo","zDatasetReshapeInfo","zEncoding","zBackgroundColor","zLabel","zColor","zTooltip","zLegend","zVChartBaseConfig","zVTableBaseConfig","zBaseConfig","zCustomThemeConfig","zCustomTheme","zTheme"],"mappings":"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"}
|
@@ -7,3 +7,4 @@ export { columnParallelAdvancedPipeline } from './columnParallel';
|
|
7
7
|
export { columnPercentAdvancedPipeline } from './columnPercent';
|
8
8
|
export { areaAdvancedPipeline } from './area';
|
9
9
|
export { areaPercentAdvancedPipeline } from './areaPercent';
|
10
|
+
export { pieAdvancedPipeline } from './pie';
|