All files / src/tester prettyDuration.ts

85% Statements 17/20
60% Branches 6/10
100% Functions 1/1
85% Lines 17/20

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 352x 2x   2x 1x     1x 1x 1x 1x 1x 1x   1x   1x       1x       1x       1x 1x     1x    
export function prettyDuration(diffInMs) {
  let diff = Math.abs(diffInMs);
 
  if (diff === 0) {
    return `0ms`;
  }
 
  const ms = diff % 1000;
  diff = (diff - ms) / 1000;
  const secs = diff % 60;
  diff = (diff - secs) / 60;
  const mins = diff % 60;
  const hrs = (diff - mins) / 60;
 
  let result = "";
 
  Iif (hrs) {
    result += ` ${hrs}h`;
  }
 
  Iif (mins) {
    result += ` ${mins}m`;
  }
 
  Iif (secs) {
    result += ` ${secs}s`;
  }
 
  Eif (ms) {
    result += ` ${ms}ms`;
  }
 
  return result.trim();
}