Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 5x 5x 5x 5x 12x 7x 5x 5x 16x 6x 9x 5x | import { CodeMapNode, PrimaryMetrics } from "../../../codeCharta.model" import { primaryMetricNamesSelector } from "../../../state/selectors/primaryMetrics/primaryMetricNames.selector" import { selectedNodeSelector } from "../../../state/selectors/selectedNode.selector" import { Metric } from "../util/metric" import { createSelector } from "@ngrx/store" export const _calculateSecondaryMetrics = (primaryMetrics: PrimaryMetrics, node?: Pick<CodeMapNode, "attributes">) => { if (!node) { return [] as Metric[] } const primaryMetricNamesList = Object.values(primaryMetrics) const secondaryMetricNames = Object.keys(node.attributes) .filter(metricName => metricName !== "unary" && !primaryMetricNamesList.includes(metricName)) .sort((metricNameA, metricNameB) => metricNameA.localeCompare(metricNameB)) return secondaryMetricNames.map(secondaryMetricName => ({ name: secondaryMetricName, value: node.attributes[secondaryMetricName] })) } export const secondaryMetricsSelector = createSelector(primaryMetricNamesSelector, selectedNodeSelector, _calculateSecondaryMetrics) |