Files
gemory/src/ledger/statistics.ts
T

16 lines
637 B
TypeScript

import type {DailyBalanceResponse} from "@/generated/mammon";
import {isMain, type Ledger} from "./ledger";
export const StatisticsModes = {
CashFlow: 'CASH_FLOW',
Margin: 'MARGIN',
DailyBalance: 'DAILY_BALANCE',
} as const;
export type StatisticsMode = typeof StatisticsModes[keyof typeof StatisticsModes];
export const resolveStatisticsMode = (ledger: Ledger, mode: StatisticsMode): StatisticsMode =>
!isMain(ledger) && mode !== StatisticsModes.DailyBalance ? StatisticsModes.DailyBalance : mode;
export const latestDailyBalanceValue = (range: DailyBalanceResponse[]): number =>
range.at(-1)?.averageValue ?? 0;