UNPKG

@formant/ava

Version:

A framework for automated visual analytics.

47 lines (46 loc) 2.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateHomogeneousInsightVisualizationSpec = exports.generateInsightVisualizationSpec = void 0; var tslib_1 = require("tslib"); var lodash_1 = require("lodash"); var narrative_1 = tslib_1.__importDefault(require("../narrative")); var chart_1 = require("../chart"); var generateInsightVisualizationSpec = function (insight, visualizationOptions) { if (visualizationOptions === void 0) { visualizationOptions = { lang: 'en-US', }; } var patterns = insight.patterns; var specs = []; if (!patterns.length) return []; var patternGroups = (0, lodash_1.groupBy)(patterns, function (pattern) { return pattern.type; }); Object.entries(patternGroups).forEach(function (_a) { var _b = tslib_1.__read(_a, 2), patternType = _b[0], patternGroup = _b[1]; var chartSpec = (0, chart_1.generateInsightChartSpec)(tslib_1.__assign(tslib_1.__assign({}, insight), { patterns: patternGroup })); specs.push({ patternType: patternType, chartSpec: chartSpec, narrativeSpec: (0, narrative_1.default)(tslib_1.__assign(tslib_1.__assign({}, insight), { patterns: patternGroup }), visualizationOptions), }); }); return specs; }; exports.generateInsightVisualizationSpec = generateInsightVisualizationSpec; var generateHomogeneousInsightVisualizationSpec = function (insight, visualizationOptions) { if (visualizationOptions === void 0) { visualizationOptions = { lang: 'en-US', }; } var patterns = insight.patterns; var schemas = []; patterns.forEach(function (pattern) { var insightType = pattern.insightType; var chartSpec = {}; schemas.push({ patternType: insightType, chartSpec: chartSpec, narrativeSpec: (0, narrative_1.default)(tslib_1.__assign(tslib_1.__assign({}, (0, lodash_1.omit)(insight, ['patterns'])), pattern), visualizationOptions), }); }); return schemas; }; exports.generateHomogeneousInsightVisualizationSpec = generateHomogeneousInsightVisualizationSpec;