All files / atom/videoPlayer/src/hooks/vimeo useVimeoApi.js

78.57% Statements 11/14
100% Branches 0/0
50% Functions 3/6
100% Lines 11/11

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        1x 6x   6x 6x 6x 6x 6x   6x 6x 6x 6x            
import {useEffect, useRef} from 'react'
 
import Player from '@vimeo/player'
 
const useVimeoApi = ({onPlay, onPause, onLoad, onCleanEffect, playerRef}) => {
  const player = useRef(null)
 
  useEffect(() => {
    player.current = new Player(playerRef.current)
    player.current.on('play', () => onPlay(player))
    player.current.on('pause', () => onPause(player))
    player.current.on('loaded', () => onLoad(player))
 
    return () => {
      onCleanEffect(player)
      player.current.destroy()
      player.current = null
    }
  }, [playerRef, onPlay, onPause, onLoad, onCleanEffect])
}
 
export default useVimeoApi