MCPcopy Create free account
hub / github.com/code-pushup/cli / calculateScore

Function calculateScore

packages/utils/src/lib/reports/scoring.ts:79–93  ·  view source on GitHub ↗
(
  refs: T[],
  scoreFn: (ref: T) => number,
)

Source from the content-addressed store, hash-verified

77}
78
79export function calculateScore<T extends { weight: number }>(
80 refs: T[],
81 scoreFn: (ref: T) => number,
82): number {
83 const validatedRefs = parseScoringParameters(refs, scoreFn);
84 const { numerator, denominator } = validatedRefs.reduce(
85 (acc, ref) => ({
86 numerator: acc.numerator + ref.score * ref.weight,
87 denominator: acc.denominator + ref.weight,
88 }),
89 { numerator: 0, denominator: 0 },
90 );
91
92 return numerator / denominator;
93}
94
95function parseScoringParameters<T extends { weight: number }>(
96 refs: T[],

Callers 2

scoreReportFunction · 0.70

Calls 1

parseScoringParametersFunction · 0.85

Tested by

no test coverage detected