getDataSummary method
Get a summary of available data for a company.
Implementation
Map<String, dynamic> getDataSummary(CompanyFinancials financials) {
final metricCoverage = <String, Map<String, dynamic>>{};
for (final entry in financials.metrics.entries) {
final metric = entry.key;
final history = entry.value;
final annualYears =
history.annualValues.map((v) => v.fiscalPeriod.year).toSet();
final quarterlyCount = history.quarterlyValues.length;
metricCoverage[metric.name] = {
'displayName': metric.displayName,
'annualYears': annualYears.toList()..sort(),
'quarterlyDataPoints': quarterlyCount,
'latestValue': history.latest?.value,
'latestPeriod': history.latest?.fiscalPeriod.toString(),
};
}
return {
'ticker': financials.ticker,
'companyName': financials.companyName,
'yearRange': financials.yearRange,
'metricsAvailable': financials.metrics.length,
'metrics': metricCoverage,
};
}