mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-06-24 07:11:48 +00:00
feat(parser): Add VideoViewCount node
This commit is contained in:
@@ -1,33 +1,30 @@
|
||||
import type { ObservedArray } from '../helpers.js';
|
||||
import { YTNode } from '../helpers.js';
|
||||
import type { RawNode } from '../index.js';
|
||||
import { Parser } from '../index.js';
|
||||
import MetadataBadge from './MetadataBadge.js';
|
||||
import Menu from './menus/Menu.js';
|
||||
import { Parser, type RawNode } from '../index.js';
|
||||
import { YTNode, type ObservedArray } from '../helpers.js';
|
||||
|
||||
import Text from './misc/Text.js';
|
||||
import Menu from './menus/Menu.js';
|
||||
import MetadataBadge from './MetadataBadge.js';
|
||||
import VideoViewCount from './VideoViewCount.js';
|
||||
|
||||
export default class VideoPrimaryInfo extends YTNode {
|
||||
static type = 'VideoPrimaryInfo';
|
||||
|
||||
title: Text;
|
||||
super_title_link?: Text;
|
||||
view_count: Text;
|
||||
short_view_count: Text;
|
||||
badges: ObservedArray<MetadataBadge>;
|
||||
published: Text;
|
||||
relative_date: Text;
|
||||
menu: Menu | null;
|
||||
public title: Text;
|
||||
public super_title_link?: Text;
|
||||
public view_count: VideoViewCount | null;
|
||||
public badges: ObservedArray<MetadataBadge>;
|
||||
public published: Text;
|
||||
public relative_date: Text;
|
||||
public menu: Menu | null;
|
||||
|
||||
constructor(data: RawNode) {
|
||||
super();
|
||||
this.title = new Text(data.title);
|
||||
|
||||
if (Reflect.has(data, 'superTitleLink')) {
|
||||
if (Reflect.has(data, 'superTitleLink'))
|
||||
this.super_title_link = new Text(data.superTitleLink);
|
||||
}
|
||||
|
||||
this.view_count = new Text(data.viewCount?.videoViewCountRenderer?.viewCount);
|
||||
this.short_view_count = new Text(data.viewCount?.videoViewCountRenderer?.shortViewCount);
|
||||
this.view_count = Parser.parseItem(data.viewCount, VideoViewCount);
|
||||
this.badges = Parser.parseArray(data.badges, MetadataBadge);
|
||||
this.published = new Text(data.dateText);
|
||||
this.relative_date = new Text(data.relativeDateText);
|
||||
|
||||
18
src/parser/classes/VideoViewCount.ts
Normal file
18
src/parser/classes/VideoViewCount.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { Text } from '../misc.js';
|
||||
import { YTNode } from '../helpers.js';
|
||||
import type { RawNode } from '../index.js';
|
||||
|
||||
export default class VideoViewCount extends YTNode {
|
||||
static type = 'VideoViewCount';
|
||||
|
||||
public original_view_count: string;
|
||||
public short_view_count: Text;
|
||||
public view_count: Text;
|
||||
|
||||
constructor(data: RawNode) {
|
||||
super();
|
||||
this.original_view_count = data.originalViewCount;
|
||||
this.short_view_count = new Text(data.shortViewCount);
|
||||
this.view_count = new Text(data.viewCount);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user