Fixed uptime calculation overflowing hours

pull/2486/head v1.4.4-beta.12
Anderson Shindy Oki 5 months ago committed by GitHub
parent 668ec386fc
commit 34089b0fd7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -30,7 +30,7 @@ describe("formatTime", () => {
{ unit: "s", divisor: divisorSecond }, { unit: "s", divisor: divisorSecond },
]); ]);
expect(formattedTime).toBe("581d 25:27:41"); expect(formattedTime).toBe("581d 01:27:41");
}); });
it("should format time day hour minute", () => { it("should format time day hour minute", () => {

@ -11,19 +11,28 @@ export const divisorSecond = 1;
export const formatTime = ( export const formatTime = (
timeInSeconds: number, timeInSeconds: number,
formats: TimeFormat[], formats: TimeFormat[],
): string => ): string => {
formats.reduce( return formats.reduce(
(formattedTime: string, { unit, divisor }: TimeFormat, index: number) => { (
const timeValue: number = { formattedTime, remainingSeconds },
index === 0 { unit, divisor }: TimeFormat,
? Math.floor(timeInSeconds / divisor) index: number,
: Math.floor(timeInSeconds / divisor) % 60; ) => {
return ( const timeValue = Math.floor(remainingSeconds / divisor);
const seconds = remainingSeconds % divisor;
const time =
formattedTime + formattedTime +
(index === 0 (index === 0
? `${timeValue}${unit} ` ? `${timeValue}${unit} `
: `${timeValue.toString().padStart(2, "0")}${index < formats.length - 1 ? ":" : ""}`) : `${timeValue.toString().padStart(2, "0")}${index < formats.length - 1 ? ":" : ""}`);
);
return {
formattedTime: time,
remainingSeconds: seconds,
};
}, },
"", { formattedTime: "", remainingSeconds: timeInSeconds },
); ).formattedTime;
};

Loading…
Cancel
Save