@uppy/utils
Version:
Shared utility functions for Uppy Core and plugins maintained by the Uppy team.
29 lines (25 loc) • 828 B
text/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}`
}