Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@filerobot/utils / lib / formatDuration.js
Size: Mime:
/**
 * 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(' ');
});