mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-06-17 19:42:14 +00:00
42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
import Thumbnail from './Thumbnail.js';
|
|
import type { RawNode } from '../../index.js';
|
|
|
|
export default class VideoDetails {
|
|
id: string;
|
|
channel_id: string;
|
|
title: string;
|
|
duration: number;
|
|
keywords: string[];
|
|
is_owner_viewing: boolean;
|
|
short_description: string;
|
|
thumbnail: Thumbnail[];
|
|
allow_ratings: boolean;
|
|
view_count: number;
|
|
author: string;
|
|
is_private: boolean;
|
|
is_live: boolean;
|
|
is_live_content: boolean;
|
|
is_upcoming: boolean;
|
|
is_crawlable: boolean;
|
|
is_post_live_dvr: boolean;
|
|
|
|
constructor(data: RawNode) {
|
|
this.id = data.videoId;
|
|
this.channel_id = data.channelId;
|
|
this.title = data.title;
|
|
this.duration = parseInt(data.lengthSeconds);
|
|
this.keywords = data.keywords;
|
|
this.is_owner_viewing = !!data.isOwnerViewing;
|
|
this.short_description = data.shortDescription;
|
|
this.thumbnail = Thumbnail.fromResponse(data.thumbnail);
|
|
this.allow_ratings = !!data.allowRatings;
|
|
this.view_count = parseInt(data.viewCount);
|
|
this.author = data.author;
|
|
this.is_private = !!data.isPrivate;
|
|
this.is_live = !!data.isLive;
|
|
this.is_live_content = !!data.isLiveContent;
|
|
this.is_upcoming = !!data.isUpcoming;
|
|
this.is_post_live_dvr = !!data.isPostLiveDvr;
|
|
this.is_crawlable = !!data.isCrawlable;
|
|
}
|
|
} |