core/coordinators/code.coordinator.ts
core/coordinators/code.coordinator.ts is a file in GovLab Patterns. 12 lines of code and 1 definition.
import type { CodeFinding, CodeSymbol, DiagnoseInput } from "#types/code.types";
import { deadFindings, duplicateFindings } from "#core/analyzers/definition.analyzer";
import { callCycleFindings } from "#core/analyzers/dependency.analyzer";
import { crossConcernFindings } from "#core/analyzers/concern.analyzer";
export const diagnose = function diagnose(symbols: readonly CodeSymbol[], input: DiagnoseInput): CodeFinding[] {
return [
...callCycleFindings(input.graph.edges),
...deadFindings(symbols, input.records, input.testUses),
...duplicateFindings(symbols),
...crossConcernFindings(symbols, input.graph.edges),
].sort((left, right) => right.relevance - left.relevance);
};