fix: Filter for only MusicResponsiveListItem in playlist items (#3022)

This commit is contained in:
Dylan Corrales
2025-02-28 09:25:01 -05:00
committed by GitHub
parent dbea4c5884
commit 4ea8fa2561

View File

@ -639,7 +639,12 @@ export async function downloadPlaylist(givenUrl?: string | URL) {
try {
playlist = await yt.music.getPlaylist(playlistId);
if (playlist?.items) {
items.push(...playlist.items.as(YTNodes.MusicResponsiveListItem));
const filteredItems = playlist.items.filter(
(item): item is YTNodes.MusicResponsiveListItem =>
item instanceof YTNodes.MusicResponsiveListItem,
);
items.push(...filteredItems);
}
} catch (error: unknown) {
sendError(
@ -674,9 +679,13 @@ export async function downloadPlaylist(givenUrl?: string | URL) {
while (playlist.has_continuation) {
playlist = await playlist.getContinuation();
if (playlist?.items) {
items.push(...playlist.items.as(YTNodes.MusicResponsiveListItem));
}
const filteredItems = playlist.items.filter(
(item): item is YTNodes.MusicResponsiveListItem =>
item instanceof YTNodes.MusicResponsiveListItem,
);
items.push(...filteredItems);
}
if (items.length === 1) {