20 lines
625 B
TypeScript
20 lines
625 B
TypeScript
import type { Filing } from '@/lib/types';
|
|
|
|
export function redactInternalFilingAnalysisFields(filing: Filing): Filing {
|
|
if (!filing.analysis) {
|
|
return filing;
|
|
}
|
|
|
|
const { extraction, extractionMeta: _extractionMeta, ...analysis } = filing.analysis;
|
|
const companyMetrics = (extraction?.companySpecificData ?? []).filter((item) => item.trim().length > 0);
|
|
const publicAnalysis = companyMetrics.length > 0
|
|
? { ...analysis, companyMetrics }
|
|
: analysis;
|
|
const hasPublicFields = Object.keys(publicAnalysis).length > 0;
|
|
|
|
return {
|
|
...filing,
|
|
analysis: hasPublicFields ? publicAnalysis : null
|
|
};
|
|
}
|