Files
Neon-Desk/lib/financials/history-window.ts
francy51 17de3dd72d Add history window controls and expand taxonomy pack support
- add 3Y/5Y/10Y financial history filtering and reorganize normalization details UI
- add new fiscal taxonomy surface/income bridge/KPI packs and update Rust taxonomy loading
- auto-detect Homebrew SQLite for native `sqlite-vec` in local dev/e2e with docs and env guidance
2026-03-18 23:40:28 -04:00

43 lines
854 B
TypeScript

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);
}