refactor!: support RUB only (WealthLedger/main#55)
Filter non-RUB data at ingest, collapse per-currency collections into single RUB Money, drop currency from TbankPortfolioValuePoint, remove NON_RUB_ACTIVITY and screener currency filter. BREAKING CHANGE: per-currency API fields replaced with single RUB Money; stock screener currency param removed.
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
import { Decimal } from '../../common/decimal';
|
||||
import type { Money } from '../../common/money.types';
|
||||
|
||||
import { Decimal, formatDecimal } from '../../common/decimal';
|
||||
|
||||
const MISSING_PROTO_COMPONENT = 0;
|
||||
|
||||
@@ -6,6 +8,12 @@ const NANO = 1_000_000_000n;
|
||||
|
||||
export type ProtoDecimal = { nano?: number | string; units?: number | string };
|
||||
|
||||
export function rubMoney(value?: ProtoDecimal & { currency?: string }): Money | null {
|
||||
return value?.currency?.trim().toUpperCase() === 'RUB'
|
||||
? { currency: 'RUB', value: formatDecimal(decimal(value)) }
|
||||
: null;
|
||||
}
|
||||
|
||||
export function decimal(value: ProtoDecimal): Decimal {
|
||||
return {
|
||||
value: BigInt(value.units ?? MISSING_PROTO_COMPONENT) * NANO + BigInt(value.nano ?? MISSING_PROTO_COMPONENT),
|
||||
|
||||
Reference in New Issue
Block a user