All files / src/timing Duration.js

100% Statements 7/7
100% Branches 6/6
100% Functions 1/1
100% Lines 6/6

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              71x 26x 26x 26x 1x   25x    
// @ts-check
 
/**
 * @param  {string|null} duration
 * @return {number|null}
 */
export function parseDuration(duration) {
  if (!duration) { return null; }
  duration = duration.trim();
  const value = Number.parseFloat(duration);
  if (Number.isNaN(value)) {
    throw new SyntaxError('failed to parse duration: ' + duration);
  }
  return (duration.endsWith('ms')) ? value : (value * 1000);
}