import type { FinancialCadence, FinancialStatementPeriod } from "@/lib/types"; export type FinancialHistoryWindow = 3 | 5 | 10; export function financialHistoryLimit( cadence: FinancialCadence, window: FinancialHistoryWindow, ) { if (cadence === "quarterly") { return window * 4 + 4; } return window + 2; } function visiblePeriodCount( cadence: FinancialCadence, window: FinancialHistoryWindow, ) { if (cadence === "quarterly") { return window * 4; } return window; } export function filterPeriodsByHistoryWindow( periods: FinancialStatementPeriod[], cadence: FinancialCadence, window: FinancialHistoryWindow, ) { if (periods.length === 0) { return periods; } const count = visiblePeriodCount(cadence, window); if (periods.length <= count) { return periods; } return periods.slice(-count); }