import padStart from 'lodash-es/padStart.js'
/**
* Converts seconds (or milliseconds) to HH:MM:SS string.
*
* @param {number|string} secs Duration value.
* @param {boolean} [ms] Treat input as milliseconds when true.
* @returns {string} Formatted duration.
*/
export default function secToHms (secs, ms) {
let remain
if (ms) {
remain = secs % 1000
secs = Math.floor(secs / 1000)
}
const secNum = parseInt(secs, 10)
const hours = Math.floor(secNum / 3600)
const minutes = Math.floor(secNum / 60) % 60
const seconds = secNum % 60
let hms = [hours, minutes, seconds]
.map(v => v < 10 ? '0' + v : v)
.filter((v, i) => v !== '00' || i > 0)
.join(':')
if (ms) hms += '+' + padStart(remain, 3, '0')
return hms
}