diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-06-20 12:24:21 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-06-20 12:24:21 -0300 |
commit | 81489666a1d4303cfc8cd2c5d3396c08c0a5453f (patch) | |
tree | 92388a723dc41c0761b9ef17f2577db789c72e5f /src/cli.js | |
parent | a893eb7c0a9077705e4f882c3ea72a08dfbe2fce (diff) |
cli: move formatDuration here
Diffstat (limited to 'src/cli.js')
-rw-r--r-- | src/cli.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/cli.js b/src/cli.js index 24534522..2ee45a25 100644 --- a/src/cli.js +++ b/src/cli.js @@ -459,6 +459,24 @@ export function fileIssue({ console.error(colors.red(`- https://github.com/hsmusic/hsmusic-wiki/issues/`)); } +// Quick'n dirty function to present a duration nicely for command-line use. +export function formatDuration(timeDelta) { + const seconds = timeDelta / 1000; + + if (seconds > 90) { + const modSeconds = Math.floor(seconds % 60); + const minutes = Math.floor(seconds - seconds % 60) / 60; + return `${minutes}m${modSeconds}s`; + } + + if (seconds < 0.1) { + return 'instant'; + } + + const precision = (seconds > 1 ? 3 : 2); + return `${seconds.toPrecision(precision)}s`; +} + export async function logicalCWD() { if (process.env.PWD) { return process.env.PWD; |