diff --git a/src/combination/dimensions.js b/src/combination/dimensions.js index 4081b7b0e..df676d995 100644 --- a/src/combination/dimensions.js +++ b/src/combination/dimensions.js @@ -9,24 +9,24 @@ import { getInputIds } from './inputs.js' export const COMBINATION_DIMENSIONS = [ { dimension: 'task', - propName: 'tasks', idName: 'taskId', rankName: 'taskRank', }, { dimension: 'runner', - propName: 'runners', idName: 'runnerId', rankName: 'runnerRank', }, { dimension: 'system', - propName: 'systems', idName: 'systemId', rankName: 'systemRank', }, ] export const N_COMBINATION_DIMENSIONS = [ - { dimension: 'input', getIds: getInputIds }, + { + dimension: 'input', + getIds: getInputIds, + }, ] diff --git a/src/combination/group.js b/src/combination/group.js index 6027dde62..5f433c59b 100644 --- a/src/combination/group.js +++ b/src/combination/group.js @@ -4,29 +4,20 @@ import { getMean } from '../stats/sum.js' import { COMBINATION_DIMENSIONS } from './dimensions.js' -// Group combinations per dimension. -// Each dimension is assigned to a top-level result.dimensions.* property. -// It includes its mean speed and rank. -// Add `result.*` properties based on grouping combinations by dimension. +// Add `combination.*Rank` then sort combinations based on it. export const groupResultCombinations = function (result) { - const { combinations: combinationsA, dimensions } = groupDimensionInfos( + const { combinations: combinationsA } = groupDimensionInfos( result.combinations, ) const combinationsB = sortCombinations(combinationsA) - return { ...result, combinations: combinationsB, dimensions } + return { ...result, combinations: combinationsB } } const groupDimensionInfos = function (combinations) { - return COMBINATION_DIMENSIONS.reduce(addDimensionInfo, { - combinations, - dimensions: {}, - }) + return COMBINATION_DIMENSIONS.reduce(addDimensionInfo, { combinations }) } -const addDimensionInfo = function ( - { combinations, dimensions }, - { propName, idName, rankName }, -) { +const addDimensionInfo = function ({ combinations }, { idName, rankName }) { const ids = getDimensionIds(combinations, idName) const dimension = ids.map((id) => getDimension({ combinations, id, idName })) const dimensionA = sortOn(dimension, 'mean') @@ -34,10 +25,7 @@ const addDimensionInfo = function ( const combinationsA = combinations.map((combination) => addRank({ combination, dimension: dimensionA, idName, rankName }), ) - return { - combinations: combinationsA, - dimensions: { ...dimensions, [propName]: dimensionA }, - } + return { combinations: combinationsA } } const getDimensionIds = function (combinations, idName) { diff --git a/src/report/normalize/common.js b/src/report/normalize/common.js index c734e6d6a..5113479b6 100644 --- a/src/report/normalize/common.js +++ b/src/report/normalize/common.js @@ -4,7 +4,7 @@ import { omitSystemProps } from '../../system/omit.js' import { normalizeTimestamp } from '../../system/timestamp.js' import { omitCombinationsProps } from './omit.js' -import { addCombinationsTitles, addDimensionsTitles } from './titles_add.js' +import { addCombinationsTitles } from './titles_add.js' import { padTitles } from './titles_pad.js' // Add report-specific properties to a result that are not in `combinations` nor @@ -63,13 +63,12 @@ export const normalizeCombEach = function ( }, { titles }, ) { - const resultA = addDimensionsTitles(result, titles, showTitles) - const resultB = addCombinationsTitles(resultA, titles, showTitles) - const resultC = padTitles({ result: resultB }) - const resultD = omitCombinationsProps(resultC, { + const resultA = addCombinationsTitles(result, titles, showTitles) + const resultB = padTitles({ result: resultA }) + const resultC = omitCombinationsProps(resultB, { showPrecision, showDiff, debugStats, }) - return resultD + return resultC } diff --git a/src/report/normalize/titles_add.js b/src/report/normalize/titles_add.js index 0f76cd96c..d725e7f36 100644 --- a/src/report/normalize/titles_add.js +++ b/src/report/normalize/titles_add.js @@ -1,5 +1,3 @@ -import mapObj from 'map-obj' - import { COMBINATION_DIMENSIONS } from '../../combination/dimensions.js' // Allow users to rename identifiers from any combination dimension: tasks, @@ -37,24 +35,6 @@ const getIdName = function ({ idName }) { return idName } -// Add `result.dimensions.*.title` -export const addDimensionsTitles = function ( - { dimensions, ...result }, - titles, - showTitles, -) { - const titlesA = showTitles ? titles : {} - const dimensionsA = mapObj(dimensions, (dimension, items) => [ - dimension, - addDimensionTitle(items, titlesA), - ]) - return { ...result, dimensions: dimensionsA } -} - -const addDimensionTitle = function (items, titles) { - return items.map((item) => addTitle(item, 'id', titles)) -} - // Add `footer.systems[*].title` export const addFooterTitles = function ( { systems, ...footer },