All files / src/core/plugins timeline.ts

100% Statements 12/12
100% Branches 10/10
100% Functions 1/1
100% Lines 12/12

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 244x   4x 9x 9x 9x 9x 9x 9x 9x 9x     4x                 4x  
import Plugin from "./wsTimeline"
 
export function defaultTimeFormatter(seconds: number) {
  const secondsAbs = Math.abs(seconds)
  const h = Math.floor(secondsAbs / 3600)
  const m = Math.floor((secondsAbs % 3600) / 60)
  const s = Math.floor(secondsAbs % 60)
  let formattedTime = h > 0 ? (h < 10 ? `0${h}:` : `${h}:`) : ""
  formattedTime += m < 10 ? `0${m}:` : `${m}:`
  formattedTime += s < 10 ? `0${s}` : `${s}`
  return seconds >= 0 ? formattedTime : "-" + formattedTime
}
 
export const defaultTimelineOptions = {
  notchPercentHeight: 60,
  height: 12,
  fontSize: 10,
  primaryLabelInterval: 10,
  secondaryLabelInterval: 0,
  formatTimeCallback: defaultTimeFormatter,
}
 
export const TimelinePlugin = Plugin