mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-07-02 21:52:48 +00:00
22 lines
916 B
JavaScript
22 lines
916 B
JavaScript
'use strict';
|
|
|
|
class SongResultItem {
|
|
static parse(data) {
|
|
return data.map((item) => this.parseItem(item)).filter((item) => item);
|
|
}
|
|
|
|
static parseItem(item) {
|
|
const list_item = item.musicResponsiveListItemRenderer;
|
|
if (list_item.playlistItemData) return {
|
|
id: list_item.playlistItemData.videoId,
|
|
title: list_item.flexColumns[0]?.musicResponsiveListItemFlexColumnRenderer.text.runs[0]?.text,
|
|
artist: list_item.flexColumns[1]?.musicResponsiveListItemFlexColumnRenderer.text.runs[2]?.text,
|
|
album: list_item.flexColumns[1]?.musicResponsiveListItemFlexColumnRenderer.text.runs[4]?.text,
|
|
duration: list_item.flexColumns[1]?.musicResponsiveListItemFlexColumnRenderer.text.runs
|
|
.find((run) => /^\d+$/.test(run.text.replace(/:/g, ''))).text,
|
|
thumbnails: list_item.thumbnail.musicThumbnailRenderer.thumbnail.thumbnails,
|
|
};
|
|
}
|
|
}
|
|
|
|
module.exports = SongResultItem; |