feat: add is_live and is_upcoming to VideoDetails (#271)

* feat: add is_live and is_upcoming to VideoDetails

* chore: add tests
This commit is contained in:
absidue
2023-01-04 00:52:05 +01:00
committed by GitHub
parent b704c8e78c
commit 22b9c174bb
3 changed files with 22 additions and 0 deletions

View File

@@ -13,7 +13,9 @@ class VideoDetails {
view_count: number;
author: string;
is_private: boolean;
is_live: boolean;
is_live_content: boolean;
is_upcoming: boolean;
is_crawlable: boolean;
constructor(data: any) {
@@ -29,7 +31,9 @@ class VideoDetails {
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_crawlable = !!data.isCrawlable;
}
}

View File

@@ -14,6 +14,14 @@ export const VIDEOS = [
{
ID: 'OqiXFXlYFi8',
QUERY: 'formatted comment text'
},
{
ID: 'O3cCYok_ukk',
QUERY: 'upcoming video'
},
{
ID: 'jfKfPfyJRdk',
QUERY: 'live video'
}
];

View File

@@ -44,6 +44,16 @@ describe('YouTube.js Tests', () => {
const b_info = await yt.getBasicInfo(VIDEOS[0].ID);
expect(b_info.basic_info.id).toBe(VIDEOS[0].ID);
});
it('should be upcoming', async () => {
const b_info = await yt.getBasicInfo(VIDEOS[4].ID);
expect(b_info.basic_info.is_upcoming).toBe(true);
});
it('should be live', async () => {
const b_info = await yt.getBasicInfo(VIDEOS[5].ID);
expect(b_info.basic_info.is_live).toBe(true);
});
});
describe('Search', () => {