All files / helpers/date formatDuration.js

97.56% Statements 40/41
95.45% Branches 21/22
100% Functions 5/5
97.56% Lines 40/41

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81    91x 31x 31x   31x 31x 4x     31x 31x 4x     31x 31x 19x     31x 31x 3x     31x     91x 21x     91x 5x     91x 10x     91x 14x 14x   14x 14x       14x 14x 6x     14x 14x 4x     14x 14x 4x     14x 14x 3x     14x                    
import moment from 'moment-timezone';
 
const msToDaysHoursMinutesAndSeconds = (ms, useSeconds) => {
  const duration = moment.duration(ms);
  let res = '';
 
  const days = duration.days();
  if (days > 0) {
    res += `${days}d `;
  }
 
  const hours = duration.hours();
  if (hours > 0) {
    res += `${hours}h `;
  }
 
  const minutes = duration.minutes();
  if (minutes > 0) {
    res += `${minutes}m `;
  }
 
  const seconds = duration.seconds();
  if (useSeconds && seconds > 0) {
    res += `${seconds}s`;
  }
 
  return res;
};
 
const msToSeconds = (duration) => {
  return parseInt(duration / 1000, 10);
};
 
const msToMinutes = (duration) => {
  return parseInt(duration / 1000 / 60, 10);
};
 
const msToHours = (duration) => {
  return parseInt(duration / 1000 / 60 / 60, 10);
};
 
const msToMonthsDaysHoursMinutesAndSeconds = (ms, useSeconds) => {
  const duration = moment.duration(ms);
  let res = '';
 
  const months = duration.months();
  Iif (months > 0) {
    res += `${months}M `;
  }
 
  const days = duration.days();
  if (days > 0) {
    res += `${days}d `;
  }
 
  const hours = duration.hours();
  if (hours > 0) {
    res += `${hours}h `;
  }
 
  const minutes = duration.minutes();
  if (minutes > 0) {
    res += `${minutes}m `;
  }
 
  const seconds = duration.seconds();
  if (useSeconds && seconds > 0) {
    res += `${seconds}s`;
  }
 
  return res;
};
 
export default {
  msToDaysHoursMinutesAndSeconds,
  msToHours,
  msToMinutes,
  msToSeconds,
  msToMonthsDaysHoursMinutesAndSeconds,
};