From f4043a0f8114b1b8612e01a5cdf65b8d6ffc6f00 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sat, 14 Dec 2019 23:15:56 +0100 Subject: keep checkable annotations on amount for now --- src/util/amounts.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/util/amounts.ts') diff --git a/src/util/amounts.ts b/src/util/amounts.ts index 3056ebc65..26cee7f8f 100644 --- a/src/util/amounts.ts +++ b/src/util/amounts.ts @@ -45,27 +45,34 @@ export const maxAmountValue = 2 ** 52; * Non-negative financial amount. Fractional values are expressed as multiples * of 1e-8. */ -export interface AmountJson { +@Checkable.Class() +export class AmountJson { /** * Value, must be an integer. */ + @Checkable.Number() readonly value: number; /** * Fraction, must be an integer. Represent 1/1e8 of a unit. */ + @Checkable.Number() readonly fraction: number; /** * Currency of the amount. */ + @Checkable.String() readonly currency: string; + + static checked: (obj: any) => AmountJson; } const amountJsonCodec: Codec = objectCodec() .property("value", numberCodec) + .property("fraction", numberCodec) .property("currency", stringCodec) - .build("AmountJson"); + .build("AmountJson"); /** * Result of a possibly overflowing operation. -- cgit v1.2.3