feat(Parser): Add HypePointsFactoid node

This commit is contained in:
Luan
2025-07-18 12:02:26 -03:00
parent d134fd2e9e
commit 0091f51dd2
5 changed files with 19 additions and 4 deletions

View File

@@ -71,7 +71,7 @@ export default class Innertube {
return new Innertube(await Session.create(config));
}
async getInfo(target: string | NavigationEndpoint, options: GetVideoInfoOptions): Promise<VideoInfo> {
async getInfo(target: string | NavigationEndpoint, options?: GetVideoInfoOptions): Promise<VideoInfo> {
throwIfMissing({ target });
const payload = {

View File

@@ -0,0 +1,14 @@
import { Parser, type RawNode } from '../index.js';
import { YTNode } from '../helpers.js';
import Factoid from './Factoid.js';
export default class HypePointsFactoid extends YTNode {
static type = 'HypePointsFactoid';
public factoid: Factoid | null;
constructor(data: RawNode) {
super();
this.factoid = Parser.parseItem(data.factoid, Factoid);
}
}

View File

@@ -7,7 +7,6 @@ export default class VideoCard extends Video {
static type = 'VideoCard';
public metadata_text?: Text;
public byline_text?: Text;
constructor(data: RawNode) {
super(data);

View File

@@ -5,6 +5,7 @@ import Factoid from './Factoid.js';
import NavigationEndpoint from './NavigationEndpoint.js';
import UploadTimeFactoid from './UploadTimeFactoid.js';
import ViewCountFactoid from './ViewCountFactoid.js';
import HypePointsFactoid from './HypePointsFactoid.js';
export default class VideoDescriptionHeader extends YTNode {
static type = 'VideoDescriptionHeader';
@@ -12,7 +13,7 @@ export default class VideoDescriptionHeader extends YTNode {
channel: Text;
channel_navigation_endpoint?: NavigationEndpoint;
channel_thumbnail: Thumbnail[];
factoids: ObservedArray<Factoid | ViewCountFactoid | UploadTimeFactoid>;
factoids: ObservedArray<HypePointsFactoid | Factoid | ViewCountFactoid | UploadTimeFactoid>;
publish_date: Text;
title: Text;
views: Text;
@@ -25,6 +26,6 @@ export default class VideoDescriptionHeader extends YTNode {
this.channel_thumbnail = Thumbnail.fromResponse(data.channelThumbnail);
this.publish_date = new Text(data.publishDate);
this.views = new Text(data.views);
this.factoids = Parser.parseArray(data.factoid, [ Factoid, ViewCountFactoid, UploadTimeFactoid ]);
this.factoids = Parser.parseArray(data.factoid, [ Factoid, HypePointsFactoid, ViewCountFactoid, UploadTimeFactoid ]);
}
}

View File

@@ -210,6 +210,7 @@ export { default as HorizontalCardList } from './classes/HorizontalCardList.js';
export { default as HorizontalList } from './classes/HorizontalList.js';
export { default as HorizontalMovieList } from './classes/HorizontalMovieList.js';
export { default as HowThisWasMadeSectionView } from './classes/HowThisWasMadeSectionView.js';
export { default as HypePointsFactoid } from './classes/HypePointsFactoid.js';
export { default as IconLink } from './classes/IconLink.js';
export { default as ImageBannerView } from './classes/ImageBannerView.js';
export { default as IncludingResultsFor } from './classes/IncludingResultsFor.js';