UNPKG

@formant/ava

Version:

A framework for automated visual analytics.

34 lines (33 loc) 1.4 kB
import { __assign } from "tslib"; import { intersection } from 'lodash'; import { DataFrame } from '../../data'; import { AggregatorMap } from '../utils/aggregate'; export function dataToDataProps(data, extra) { if (!data) { throw new Error('Argument `data` is missing.'); } var df = new DataFrame(data, extra); var dataTypeInfos = df.info(); var dataProps = []; dataTypeInfos.forEach(function (info) { var _a; var newInfo = __assign(__assign({}, info), { domainType: ((_a = intersection(['Interval', 'Continuous'], info.levelOfMeasurements)) === null || _a === void 0 ? void 0 : _a.length) ? 'measure' : 'dimension' }); dataProps.push(newInfo); }); return dataProps; } export function calculateImpactValue(data, measure) { var measureAggregator = AggregatorMap[measure.method]; var value = measureAggregator(data, measure.fieldName); return value; } /** calculate the reference values for impact measures */ export function calculateImpactMeasureReferenceValues(data, measures) { var referenceMap = {}; measures === null || measures === void 0 ? void 0 : measures.forEach(function (measure) { var measureKey = "".concat(measure.fieldName, "@").concat(measure.method); var value = calculateImpactValue(data, measure); referenceMap[measureKey] = value; }); return referenceMap; }