All files / src/renderers formatDurationContent.ts

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

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 217x             7x       82x 82x 7x 7x       75x    
import momentLib from 'moment';
import type { MomentContent, TrimInput } from '../types';
import type { ContentContext } from './types';
 
/**
 * Formats duration output when duration or durationFromNow is set.
 */
export function formatDurationContent(
  ctx: ContentContext,
  content: MomentContent
): MomentContent {
  const { props, format } = ctx;
  if (props.duration || props.durationFromNow) {
    const d = momentLib.duration(content as momentLib.DurationInputArg1);
    return (d as unknown as {
      format: (template?: string, options?: { trim?: TrimInput }) => string;
    }).format(format, { trim: props.trim });
  }
  return content;
}