mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-06-28 00:56:23 +00:00
fix: add missing playlist_length (#110)
* fix: add missing playlist_length Also convert to TS * chore: lint
This commit is contained in:
74
src/parser/classes/EndscreenElement.ts
Normal file
74
src/parser/classes/EndscreenElement.ts
Normal file
@@ -0,0 +1,74 @@
|
||||
import Parser from '../index';
|
||||
import Thumbnail from './misc/Thumbnail';
|
||||
import NavigationEndpoint from './NavigationEndpoint';
|
||||
import Text from './misc/Text';
|
||||
import { YTNode } from '../helpers';
|
||||
|
||||
class EndscreenElement extends YTNode {
|
||||
static type = 'EndscreenElement';
|
||||
|
||||
style;
|
||||
title;
|
||||
endpoint;
|
||||
image;
|
||||
icon;
|
||||
metadata;
|
||||
call_to_action;
|
||||
hovercard_button;
|
||||
is_subscribe;
|
||||
playlist_length;
|
||||
thumbnail_overlays;
|
||||
left;
|
||||
top;
|
||||
width;
|
||||
aspect_ratio;
|
||||
start_ms;
|
||||
end_ms;
|
||||
id: string;
|
||||
constructor(data: any) {
|
||||
super();
|
||||
|
||||
this.style = `${data.style}`;
|
||||
this.title = new Text(data.title);
|
||||
this.endpoint = new NavigationEndpoint(data.endpoint);
|
||||
|
||||
if (data.image) {
|
||||
this.image = Thumbnail.fromResponse(data.image);
|
||||
}
|
||||
|
||||
if (data.icon) {
|
||||
this.icon = Thumbnail.fromResponse(data.icon);
|
||||
}
|
||||
|
||||
if (data.metadata) {
|
||||
this.metadata = new Text(data.metadata);
|
||||
}
|
||||
|
||||
if (data.callToAction) {
|
||||
this.call_to_action = new Text(data.callToAction);
|
||||
}
|
||||
|
||||
if (data.hovercardButton) {
|
||||
this.hovercard_button = Parser.parseItem(data.hovercardButton);
|
||||
}
|
||||
|
||||
if (data.isSubscribe) {
|
||||
this.is_subscribe = !!data.isSubscribe;
|
||||
}
|
||||
|
||||
if (data.playlistLength) {
|
||||
this.playlist_length = new Text(data.playlistLength);
|
||||
}
|
||||
|
||||
this.thumbnail_overlays = data.thumbnailOverlays ? Parser.parseArray(data.thumbnailOverlays) : undefined;
|
||||
this.left = parseFloat(data.left);
|
||||
this.width = parseFloat(data.width);
|
||||
this.top = parseFloat(data.top);
|
||||
this.aspect_ratio = parseFloat(data.aspectRatio);
|
||||
this.start_ms = parseFloat(data.startMs);
|
||||
this.end_ms = parseFloat(data.endMs);
|
||||
this.id = data.id;
|
||||
}
|
||||
}
|
||||
|
||||
export default EndscreenElement;
|
||||
Reference in New Issue
Block a user