botbook/node_modules/cli-progress/lib/format-time.js

34 lines
932 B
JavaScript
Raw Normal View History

2024-09-04 13:13:15 -03:00
// default time format
// format a number of seconds into hours and minutes as appropriate
module.exports = function formatTime(t, options, roundToMultipleOf){
function round(input) {
if (roundToMultipleOf) {
return roundToMultipleOf * Math.round(input / roundToMultipleOf);
} else {
return input
}
}
// leading zero padding
function autopadding(v){
return (options.autopaddingChar + v).slice(-2);
}
// > 1h ?
if (t > 3600) {
return autopadding(Math.floor(t / 3600)) + 'h' + autopadding(round((t % 3600) / 60)) + 'm';
// > 60s ?
} else if (t > 60) {
return autopadding(Math.floor(t / 60)) + 'm' + autopadding(round((t % 60))) + 's';
// > 10s ?
} else if (t > 10) {
return autopadding(round(t)) + 's';
// default: don't apply round to multiple
}else{
return autopadding(t) + 's';
}
}