prettyETA.js 752 B

12345678910111213141516
  1. "use strict";
  2. const secondsToTime = require("./secondsToTime.js");
  3. function prettyETA(seconds) {
  4. const time = secondsToTime(seconds); // Only display hours and minutes if they are greater than 0 but always
  5. // display minutes if hours is being displayed
  6. // Display a leading zero if the there is a preceding unit: 1m 05s, but 5s
  7. const hoursStr = time.hours === 0 ? '' : `${time.hours}h`;
  8. const minutesStr = time.minutes === 0 ? '' : `${time.hours === 0 ? time.minutes : ` ${time.minutes.toString(10).padStart(2, '0')}`}m`;
  9. const secondsStr = time.hours !== 0 ? '' : `${time.minutes === 0 ? time.seconds : ` ${time.seconds.toString(10).padStart(2, '0')}`}s`;
  10. return `${hoursStr}${minutesStr}${secondsStr}`;
  11. }
  12. module.exports = prettyETA;