mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-06-27 16:48:55 +00:00
refactor: clean up parser and tests (#387)
* tests: improve coverage * refactor: clean up nodes * chore: lint * feat(parser): ignore `BrandVideoShelf` Seems to be used for ads. * feat(parser): ignore `BrandVideoSingleton` too
This commit is contained in:
@@ -1,40 +1,44 @@
|
||||
import Text from '../misc/Text.js';
|
||||
import Thumbnail from '../misc/Thumbnail.js';
|
||||
import { YTNode } from '../../helpers.js';
|
||||
import type { RawNode } from '../../index.js';
|
||||
import { Parser, RawNode } from '../../index.js';
|
||||
import CommentsEntryPointTeaser from './CommentsEntryPointTeaser.js';
|
||||
|
||||
class CommentsEntryPointHeader extends YTNode {
|
||||
export default class CommentsEntryPointHeader extends YTNode {
|
||||
static type = 'CommentsEntryPointHeader';
|
||||
|
||||
header?: Text;
|
||||
comment_count?: Text;
|
||||
teaser_avatar?: Thumbnail[];
|
||||
teaser_content?: Text;
|
||||
content_renderer?: CommentsEntryPointTeaser | null;
|
||||
simplebox_placeholder?: Text;
|
||||
|
||||
constructor(data: RawNode) {
|
||||
super();
|
||||
|
||||
if (data.header) {
|
||||
if (Reflect.has(data, 'headerText')) {
|
||||
this.header = new Text(data.headerText);
|
||||
}
|
||||
|
||||
if (data.commentCount) {
|
||||
if (Reflect.has(data, 'commentCount')) {
|
||||
this.comment_count = new Text(data.commentCount);
|
||||
}
|
||||
|
||||
if (data.teaserAvatar || data.simpleboxAvatar) {
|
||||
if (Reflect.has(data, 'teaserAvatar') || Reflect.has(data, 'simpleboxAvatar')) {
|
||||
this.teaser_avatar = Thumbnail.fromResponse(data.teaserAvatar || data.simpleboxAvatar);
|
||||
}
|
||||
|
||||
if (data.teaserContent) {
|
||||
if (Reflect.has(data, 'teaserContent')) {
|
||||
this.teaser_content = new Text(data.teaserContent);
|
||||
}
|
||||
|
||||
if (data.simpleboxPlaceholder) {
|
||||
if (Reflect.has(data, 'contentRenderer')) {
|
||||
this.content_renderer = Parser.parseItem(data.contentRenderer, CommentsEntryPointTeaser);
|
||||
}
|
||||
|
||||
if (Reflect.has(data, 'simpleboxPlaceholder')) {
|
||||
this.simplebox_placeholder = new Text(data.simpleboxPlaceholder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default CommentsEntryPointHeader;
|
||||
}
|
||||
Reference in New Issue
Block a user