UNPKG

@visactor/vmind

Version:

<div align="center"> <a href="https://github.com/VisActor#gh-light-mode-only" target="_blank"> <img alt="VisActor Logo" width="200" src="https://github.com/VisActor/.github/blob/main/profile/logo_500_200_light.svg"/> </a> <a href="https://githu

73 lines (69 loc) 3.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.getCellContextByAdvisor = void 0; const chart_advisor_1 = require("@visactor/chart-advisor"), dataTable_1 = require("../../../utils/dataTable"), utils_1 = require("../utils"), types_1 = require("../../../types"), common_1 = require("../../../utils/common"), getAdvisedChartList = (schema, dataset) => { const dimensionList = schema.fields.filter((d => "dimension" === d.role)).map((d => ({ uniqueId: d.id, type: (0, utils_1.typeMap)(d.type) }))), measureList = schema.fields.filter((d => "measure" === d.role)).map((d => ({ uniqueId: d.id, type: (0, utils_1.typeMap)(d.type) }))), aliasMap = Object.fromEntries(schema.fields.map((d => [ d.id, d.alias ]))); return (0, chart_advisor_1.chartAdvisor)({ originDataset: dataset, dimensionList: dimensionList, measureList: measureList, aliasMap: aliasMap }); }, getAdvisedListTransformer = context => { const {vizSchema: vizSchema, dataTable: dataTable, chartTypeList: chartTypeList} = context; if (!(0, dataTable_1.isValidDataTable)(dataTable)) return { advisedList: [], chartSource: "chartAdvisor", usage: { prompt_tokens: 0, completion_tokens: 0, total_tokens: 0 } }; const {scores: scores} = getAdvisedChartList(vizSchema, dataTable), availableChartTypeList = chartTypeList.reduce(((res, chartType) => { var _a; return [ ...res, ...null !== (_a = null === utils_1.VMindChartTypeMap || void 0 === utils_1.VMindChartTypeMap ? void 0 : utils_1.VMindChartTypeMap[chartType]) && void 0 !== _a ? _a : [] ]; }), []); return { advisedList: (0, common_1.uniqBy)(scores.filter((d => availableChartTypeList.includes(d.chartType) && d.score - 0 >= 1e-8)).map((result => ({ chartType: (0, utils_1.chartTypeMap)(result.chartType).toUpperCase(), cell: (0, utils_1.getCell)(result.cell), dataset: result.dataset, score: result.score }))), "chartType"), chartSource: "chartAdvisor", usage: { prompt_tokens: 0, completion_tokens: 0, total_tokens: 0 } }; }, getCellContextByAdvisor = context => { const advisorResult = getAdvisedListTransformer(context), {advisedList: advisedList, chartSource: chartSource, usage: usage} = advisorResult; if (0 === advisedList.length) return { chartType: types_1.ChartType.BarChart.toUpperCase(), cell: {}, dataset: [], chartSource: chartSource, usage: usage, advisedList: advisedList }; const result = advisedList[0]; return { chartType: result.chartType, cell: (0, utils_1.getCell)(result.cell), dataset: result.dataset, chartSource: chartSource, usage: usage, advisedList: advisedList }; }; exports.getCellContextByAdvisor = getCellContextByAdvisor; //# sourceMappingURL=index.js.map