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