refactor: fix missed first update (#1031)

This commit is contained in:
Carlos Valente
2024-06-03 20:27:51 +02:00
committed by GitHub
parent 73e4a15718
commit c2039866b4
5 changed files with 86 additions and 43 deletions
@@ -1,4 +1,4 @@
type MaybeNumber = number | null;
import type { MaybeNumber } from 'ontime-types';
export const MILLIS_PER_SECOND = 1000;
export const MILLIS_PER_MINUTE = 1000 * 60;
@@ -7,26 +7,60 @@ export const MILLIS_PER_HOUR = 1000 * 60 * 60;
export const dayInMs = 86400000;
export const maxDuration = dayInMs - MILLIS_PER_SECOND;
function convertMillis(millis: MaybeNumber, conversion: number) {
/**
* Utility converts milliseconds to a specific unit
* @param millis
* @param conversion
* @returns
*/
function convertMillis(millis: MaybeNumber, conversion: number): number {
if (!millis) {
return 0;
}
// for negative times, we want to round up
if (millis < 0) {
Math.ceil(millis / conversion);
}
return Math.floor(millis / conversion);
}
export function millisToSeconds(millis: MaybeNumber) {
/**
* Converts value in milliseconds to seconds
* @param millis
* @returns
*/
export function millisToSeconds(millis: MaybeNumber): number {
return convertMillis(millis, MILLIS_PER_SECOND);
}
export function millisToMinutes(millis: MaybeNumber) {
/**
* Converts value in milliseconds to minutes
* @param millis
* @returns
*/
export function millisToMinutes(millis: MaybeNumber): number {
return convertMillis(millis, MILLIS_PER_MINUTE);
}
export function millisToHours(millis: MaybeNumber) {
/**
* Converts value in milliseconds to hours
* @param millis
* @returns
*/
export function millisToHours(millis: MaybeNumber): number {
return convertMillis(millis, MILLIS_PER_HOUR);
}
/**
* Converts value in seconds to minutes
* @param seconds
* @returns
*/
export function secondsToMinutes(seconds: number): number {
return Math.floor(seconds / 60);
}
/**
* Converts value in seconds to hours
* @param seconds
* @returns
*/
export function secondsToHours(seconds: number): number {
return Math.floor(seconds / 3600);
}