mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-07-04 12:47:04 +00:00
feat(parser): Add PlayerOverlayVideoDetails node
This commit is contained in:
@@ -3,20 +3,22 @@ import { Parser, type RawNode } from '../index.js';
|
|||||||
import Button from './Button.js';
|
import Button from './Button.js';
|
||||||
import DecoratedPlayerBar from './DecoratedPlayerBar.js';
|
import DecoratedPlayerBar from './DecoratedPlayerBar.js';
|
||||||
import PlayerOverlayAutoplay from './PlayerOverlayAutoplay.js';
|
import PlayerOverlayAutoplay from './PlayerOverlayAutoplay.js';
|
||||||
|
import PlayerOverlayVideoDetails from './PlayerOverlayVideoDetails.js';
|
||||||
import WatchNextEndScreen from './WatchNextEndScreen.js';
|
import WatchNextEndScreen from './WatchNextEndScreen.js';
|
||||||
import Menu from './menus/Menu.js';
|
import Menu from './menus/Menu.js';
|
||||||
|
|
||||||
export default class PlayerOverlay extends YTNode {
|
export default class PlayerOverlay extends YTNode {
|
||||||
static type = 'PlayerOverlay';
|
static type = 'PlayerOverlay';
|
||||||
|
|
||||||
end_screen: WatchNextEndScreen | null;
|
public end_screen: WatchNextEndScreen | null;
|
||||||
autoplay: PlayerOverlayAutoplay | null;
|
public autoplay: PlayerOverlayAutoplay | null;
|
||||||
share_button: Button | null;
|
public share_button: Button | null;
|
||||||
add_to_menu: Menu | null;
|
public add_to_menu: Menu | null;
|
||||||
fullscreen_engagement: YTNode | null;
|
public fullscreen_engagement: YTNode | null;
|
||||||
actions: ObservedArray<YTNode>;
|
public actions: ObservedArray<YTNode>;
|
||||||
browser_media_session: YTNode | null;
|
public browser_media_session: YTNode | null;
|
||||||
decorated_player_bar: DecoratedPlayerBar | null;
|
public decorated_player_bar: DecoratedPlayerBar | null;
|
||||||
|
public video_details: PlayerOverlayVideoDetails | null;
|
||||||
|
|
||||||
constructor(data: RawNode) {
|
constructor(data: RawNode) {
|
||||||
super();
|
super();
|
||||||
@@ -28,5 +30,6 @@ export default class PlayerOverlay extends YTNode {
|
|||||||
this.actions = Parser.parseArray(data.actions);
|
this.actions = Parser.parseArray(data.actions);
|
||||||
this.browser_media_session = Parser.parseItem(data.browserMediaSession);
|
this.browser_media_session = Parser.parseItem(data.browserMediaSession);
|
||||||
this.decorated_player_bar = Parser.parseItem(data.decoratedPlayerBarRenderer, DecoratedPlayerBar);
|
this.decorated_player_bar = Parser.parseItem(data.decoratedPlayerBarRenderer, DecoratedPlayerBar);
|
||||||
|
this.video_details = Parser.parseItem(data.videoDetails, PlayerOverlayVideoDetails);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
16
src/parser/classes/PlayerOverlayVideoDetails.ts
Normal file
16
src/parser/classes/PlayerOverlayVideoDetails.ts
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
import { Text } from '../misc.js';
|
||||||
|
import { YTNode } from '../helpers.js';
|
||||||
|
import { type RawNode } from '../index.js';
|
||||||
|
|
||||||
|
export default class PlayerOverlayVideoDetails extends YTNode {
|
||||||
|
static type = 'PlayerOverlayVideoDetails';
|
||||||
|
|
||||||
|
public title: Text;
|
||||||
|
public subtitle: Text;
|
||||||
|
|
||||||
|
constructor(data: RawNode) {
|
||||||
|
super();
|
||||||
|
this.title = new Text(data.title);
|
||||||
|
this.subtitle = new Text(data.subtitle);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -303,6 +303,7 @@ export { default as PlayerMicroformat } from './classes/PlayerMicroformat.js';
|
|||||||
export { default as PlayerOverflow } from './classes/PlayerOverflow.js';
|
export { default as PlayerOverflow } from './classes/PlayerOverflow.js';
|
||||||
export { default as PlayerOverlay } from './classes/PlayerOverlay.js';
|
export { default as PlayerOverlay } from './classes/PlayerOverlay.js';
|
||||||
export { default as PlayerOverlayAutoplay } from './classes/PlayerOverlayAutoplay.js';
|
export { default as PlayerOverlayAutoplay } from './classes/PlayerOverlayAutoplay.js';
|
||||||
|
export { default as PlayerOverlayVideoDetails } from './classes/PlayerOverlayVideoDetails.js';
|
||||||
export { default as PlayerStoryboardSpec } from './classes/PlayerStoryboardSpec.js';
|
export { default as PlayerStoryboardSpec } from './classes/PlayerStoryboardSpec.js';
|
||||||
export { default as Playlist } from './classes/Playlist.js';
|
export { default as Playlist } from './classes/Playlist.js';
|
||||||
export { default as PlaylistCustomThumbnail } from './classes/PlaylistCustomThumbnail.js';
|
export { default as PlaylistCustomThumbnail } from './classes/PlaylistCustomThumbnail.js';
|
||||||
|
|||||||
Reference in New Issue
Block a user