Repository URL to install this package:
|
Version:
3.12.2 ▾
|
/**
* Formats duration from 02:25:33 to 2h 25m 33s (separator is configurable, so possible to convert 02.33.44)
*
* @returns {string}
*
* @param {string|number} duration -- Duration as string or number
* @param {Function} i18n -- The translation function for translating the shown confirmation message - eg. plugin.i18n
* @param {string} separator -- The separator is used between time parts
*/
export default (function (duration) {
var i18n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var separator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ':';
var DURATION_LABELS = [i18n('durationSeconds', 's'), i18n('durationMinutes', 'm'), i18n('durationHours', 'h')];
var durationArray = duration.toString().split(separator).reverse();
return durationArray.map(function (part) {
return Number(part);
}).map(function () {
var part = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
var index = arguments.length > 1 ? arguments[1] : undefined;
return part > 0 ? "".concat(part).concat(DURATION_LABELS[index]) : '';
}).reverse().join(' ');
});