import type { Source } from "../src/types";
export function validateClarifications(sources: Source[]): void {
for (const source of sources) {
const link = source.clarification;
if (!link) continue;
const original = sources.find((s) => s.id === link.sourceId);
if (
!original ||
original.id === source.id ||
original.clarification ||
!Number.isInteger(link.line) ||
link.line < 1 ||
original.text.split("\n")[link.line - 1]?.trim() !== link.quote ||
!link.quote.trim() ||
!link.confirmedBy.trim() ||
!link.reason.trim()
) {
throw new Error(
"A clarification must link to an unchanged original source line and identify who confirmed it.",
);
}
}
}