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 };