16 lines
637 B
TypeScript
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;
|