/ src / decoders / balance.ts
balance.ts
 1  import type { UP } from "~/definitions/up";
 2  import type { Balance } from "~/models";
 3  
 4  export const decodeBalance = (data: UP): Balance => {
 5    // ex: 31-08-2024 04:57:45
 6    const [date, time] = data.LUD.split(" ") as string[];
 7    // date is reversed for proper parsing, we reverse it manually.
 8    const reversedDate = date.split("-").reverse().join("-");
 9  
10    return {
11      // @ts-expect-error : sometimes might be a string...
12      cashValue: parseFloat(data.CASHBAL),
13      // @ts-expect-error : sometimes might be a string...
14      g7CardValue: parseFloat(data.G7CARDBAL ?? 0),
15      lastUpdate: new Date(`${reversedDate} ${time}`),
16      // @ts-expect-error : sometimes might be a string...
17      value: parseFloat(data.BAL)
18    };
19  };