Files
reverse-engineering-anything/scripts/verify/counted-baseline.d.mts
T
morluto e652f4409e fix(verify): rewrite counted baselines only when a count was lowered (#10669)
* fix(verify): rewrite counted baselines only when a count was lowered

* test(verify): own the baseline write decision in a tested helper
2026-11-15 09:42:02 +08:00

30 lines
949 B
TypeScript

/** One file whose observed count differs from its recorded baseline. */
export interface CountedBaselineDifference {
readonly path: string;
readonly count: number;
readonly allowed: number;
}
/** Compare per-file counts with a baseline that may only shrink. */
export function compareCountedBaseline(
counts: ReadonlyMap<string, number>,
baseline: Readonly<Record<string, number>>,
shrink: boolean,
): {
readonly grown: CountedBaselineDifference[];
readonly stale: CountedBaselineDifference[];
readonly baseline: Record<string, number>;
/** True only when `shrink` lowered or removed a recorded count. */
readonly lowered: boolean;
};
/** Record a lowered baseline under `key`; true when the map changed. */
export function recordLoweredBaseline(
baselines: Record<string, Record<string, number>>,
key: string,
compared: {
readonly baseline: Record<string, number>;
readonly lowered: boolean;
},
): boolean;