All files / Rindu/utils getAudioPlayerNextPlayableTrack.ts

7.69% Statements 1/13
0% Branches 0/5
0% Functions 0/2
7.69% Lines 1/13

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      2x                                              
import { AudioPlayer } from "hooks";
import { ITrack } from "types/spotify";
 
export function getAudioPlayerNextPlayableTrack(
  audioPlayer: AudioPlayer
): ITrack | null {
  const allTracks = audioPlayer.allTracks;
  const currentTrackIndex = allTracks?.findIndex(
    ({ preview_url }) => preview_url === audioPlayer?.src
  );
  const nextTrackIndex = (currentTrackIndex ?? -1) + 1;
  let nextTrack: ITrack | null = null;
  for (
    let index = nextTrackIndex;
    index < (allTracks ? allTracks.length : 0);
    index++
  ) {
    const previewUrl = allTracks[index]?.preview_url;
    Iif (previewUrl) {
      nextTrack = allTracks[index];
      break;
    }
  }
 
  return nextTrack;
}