🐛 fix null artists bugs
This commit is contained in:
parent
aca523a303
commit
6be353b46f
|
|
@ -15,7 +15,7 @@ export default class AlbumParser {
|
|||
|
||||
const artistData = traverse(data, "header", "subtitle", "runs")
|
||||
const artistBasic: ArtistBasic = {
|
||||
artistId: traverseString(artistData, "browseId")(),
|
||||
artistId: traverseString(artistData, "browseId")() || null,
|
||||
name: traverseString(artistData, "text")(),
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ export default class PlaylistParser {
|
|||
name: traverseString(data, "header", "title", "text")(),
|
||||
artist: {
|
||||
name: traverseString(artist, "text")(),
|
||||
artistId: traverseString(artist, "browseId")(),
|
||||
artistId: traverseString(artist, "browseId")() || null,
|
||||
},
|
||||
videoCount:
|
||||
+traverseList(data, "header", "secondSubtitle", "text")
|
||||
|
|
@ -35,8 +35,7 @@ export default class PlaylistParser {
|
|||
|
||||
// No specific way to identify the title
|
||||
const title = columns[0]
|
||||
// Possibility to be empty because it's by YouTube Music
|
||||
const artist = columns.find(isArtist)
|
||||
const artist = columns.find(isArtist) || columns[3]
|
||||
|
||||
return checkType(
|
||||
{
|
||||
|
|
@ -44,7 +43,7 @@ export default class PlaylistParser {
|
|||
playlistId: traverseString(item, "overlay", "playlistId")(),
|
||||
name: traverseString(title, "text")(),
|
||||
artist: {
|
||||
name: artist ? traverseString(artist, "text")() : "YouTube Music",
|
||||
name: traverseString(artist, "text")(),
|
||||
artistId: traverseString(artist, "browseId")() || null,
|
||||
},
|
||||
thumbnails: traverseList(item, "thumbnails"),
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ export default class SongParser {
|
|||
const columns = traverseList(item, "flexColumns", "runs").flat()
|
||||
|
||||
const title = columns.find(isTitle)
|
||||
const artist = columns.find(isArtist)
|
||||
const artist = columns.find(isArtist) || columns[1]
|
||||
const album = columns.find(isAlbum)
|
||||
const duration = columns.find(isDuration)
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ export default class SongParser {
|
|||
name: traverseString(title, "text")(),
|
||||
artist: {
|
||||
name: traverseString(artist, "text")(),
|
||||
artistId: traverseString(artist, "browseId")(),
|
||||
artistId: traverseString(artist, "browseId")() || null,
|
||||
},
|
||||
album: {
|
||||
name: traverseString(album, "text")(),
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ export default class VideoParser {
|
|||
const columns = traverseList(item, "flexColumns", "runs").flat()
|
||||
|
||||
const title = columns.find(isTitle)
|
||||
const artist = columns.find(isArtist)
|
||||
const artist = columns.find(isArtist) || columns[1]
|
||||
const duration = columns.find(isDuration)
|
||||
|
||||
return {
|
||||
|
|
@ -37,8 +37,8 @@ export default class VideoParser {
|
|||
videoId: traverseString(item, "playNavigationEndpoint", "videoId")(),
|
||||
name: traverseString(title, "text")(),
|
||||
artist: {
|
||||
artistId: traverseString(artist, "browseId") || null,
|
||||
name: traverseString(artist, "text")(),
|
||||
artistId: traverseString(artist, "browseId")(),
|
||||
},
|
||||
duration: Parser.parseDuration(duration.text),
|
||||
thumbnails: traverseList(item, "thumbnails"),
|
||||
|
|
|
|||
Loading…
Reference in New Issue