uppy/packages/@uppy/utils/src/prettyETA.ts

28 lines
852 B
TypeScript

import secondsToTime from './secondsToTime.js'
export default function prettyETA(seconds: number): string {
const time = secondsToTime(seconds)
// Only display hours and minutes if they are greater than 0 but always
// display minutes if hours is being displayed
// Display a leading zero if the there is a preceding unit: 1m 05s, but 5s
const hoursStr = time.hours === 0 ? '' : `${time.hours}h`
const minutesStr =
time.minutes === 0
? ''
: `${
time.hours === 0
? time.minutes
: ` ${time.minutes.toString(10).padStart(2, '0')}`
}m`
const secondsStr =
time.hours !== 0
? ''
: `${
time.minutes === 0
? time.seconds
: ` ${time.seconds.toString(10).padStart(2, '0')}`
}s`
return `${hoursStr}${minutesStr}${secondsStr}`
}