all files / src/utils/ Format.js

100% Statements 26/26
87.5% Branches 14/16
100% Functions 2/2
100% Lines 26/26
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43          10× 10× 10× 10× 10×   10× 10× 10× 10× 20×     10×                  
'use strict';
 
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.formatTime = formatTime;
exports.formatFileSize = formatFileSize;
// this formatter takes a decimal that represents time in unix seconds
function formatTime(time) {
  var date = new Date(time * 1000);
  var hours = date.getHours().toString();
  var minutes = date.getMinutes().toString();
  var seconds = date.getSeconds().toString();
  var ms = date.getMilliseconds().toString();
 
  hours = hours.length === 1 ? '0' + hours : hours;
  minutes = minutes.length === 1 ? '0' + minutes : minutes;
  seconds = seconds.length === 1 ? '0' + seconds : seconds;
  while (ms.length < 3) {
    ms = '0' + ms;
  }
 
  return hours + ':' + minutes + ':' + seconds + '.' + ms;
}
 
function formatFileSize(bytes) {
  var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
 
  var nBytes = Number(bytes);
  if (Number.isNaN(nBytes) || !Number.isFinite(nBytes)) {
    return 'unknown size';
  } else if (nBytes === 0) {
    return '0 bytes';
  }
  var units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];
  var number = Math.floor(Math.log(bytes) / Math.log(1024));
  return (bytes / Math.pow(1024, Math.floor(number))).toFixed(precision) + ' ' + units[number];
}
 
exports.default = {
  formatTime: formatTime
};