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.", ); } } }