youtubei 1.0.0-rc.3 → 1.0.0-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/classes/BaseChannel/BaseChannelParser.js +10 -2
- package/dist/cjs/classes/Channel/ChannelParser.js +1 -1
- package/dist/cjs/classes/Thumbnails/Thumbnails.js +1 -1
- package/dist/esm/classes/BaseChannel/BaseChannelParser.js +10 -2
- package/dist/esm/classes/Channel/ChannelParser.js +1 -1
- package/dist/esm/classes/Thumbnails/Thumbnails.js +1 -1
- package/dist/typings/classes/BaseChannel/BaseChannelParser.d.ts +4 -0
- package/dist/typings/classes/Thumbnails/Thumbnails.d.ts +1 -1
- package/package.json +1 -1
|
@@ -16,9 +16,17 @@ class BaseChannelParser {
|
|
|
16
16
|
/** Parse tab data from request, tab name is ignored if it's a continuation data */
|
|
17
17
|
static parseTabData(name, data) {
|
|
18
18
|
var _a, _b, _c;
|
|
19
|
-
const
|
|
20
|
-
|
|
19
|
+
const tab = (_a = data.contents) === null || _a === void 0 ? void 0 : _a.twoColumnBrowseResultsRenderer.tabs.find((t) => {
|
|
20
|
+
var _a;
|
|
21
|
+
return (((_a = t.tabRenderer) === null || _a === void 0 ? void 0 : _a.endpoint.browseEndpoint.params) ===
|
|
22
|
+
BaseChannelParser.TAB_TYPE_PARAMS[name]);
|
|
23
|
+
});
|
|
24
|
+
return (((_b = tab === null || tab === void 0 ? void 0 : tab.tabRenderer.content.sectionListRenderer.contents[0].itemSectionRenderer.contents[0].gridRenderer) === null || _b === void 0 ? void 0 : _b.items) || ((_c = data.onResponseReceivedActions) === null || _c === void 0 ? void 0 : _c[0].appendContinuationItemsAction.continuationItems) ||
|
|
21
25
|
[]);
|
|
22
26
|
}
|
|
23
27
|
}
|
|
24
28
|
exports.BaseChannelParser = BaseChannelParser;
|
|
29
|
+
BaseChannelParser.TAB_TYPE_PARAMS = {
|
|
30
|
+
videos: "EgZ2aWRlb3M%3D",
|
|
31
|
+
playlists: "EglwbGF5bGlzdHM%3D",
|
|
32
|
+
};
|
|
@@ -12,7 +12,7 @@ class ChannelParser {
|
|
|
12
12
|
target.name = title;
|
|
13
13
|
target.thumbnails = new Thumbnails_1.Thumbnails().load(avatar.thumbnails);
|
|
14
14
|
target.videoCount = 0; // data not available
|
|
15
|
-
target.subscriberCount = subscriberCountText.simpleText;
|
|
15
|
+
target.subscriberCount = subscriberCountText === null || subscriberCountText === void 0 ? void 0 : subscriberCountText.simpleText;
|
|
16
16
|
const { tvBanner, mobileBanner, banner } = data.header.c4TabbedHeaderRenderer;
|
|
17
17
|
target.banner = new Thumbnails_1.Thumbnails().load((banner === null || banner === void 0 ? void 0 : banner.thumbnails) || []);
|
|
18
18
|
target.tvBanner = new Thumbnails_1.Thumbnails().load((tvBanner === null || tvBanner === void 0 ? void 0 : tvBanner.thumbnails) || []);
|
|
@@ -15,10 +15,18 @@ var BaseChannelParser = /** @class */ (function () {
|
|
|
15
15
|
/** Parse tab data from request, tab name is ignored if it's a continuation data */
|
|
16
16
|
BaseChannelParser.parseTabData = function (name, data) {
|
|
17
17
|
var _a, _b, _c;
|
|
18
|
-
var
|
|
19
|
-
|
|
18
|
+
var tab = (_a = data.contents) === null || _a === void 0 ? void 0 : _a.twoColumnBrowseResultsRenderer.tabs.find(function (t) {
|
|
19
|
+
var _a;
|
|
20
|
+
return (((_a = t.tabRenderer) === null || _a === void 0 ? void 0 : _a.endpoint.browseEndpoint.params) ===
|
|
21
|
+
BaseChannelParser.TAB_TYPE_PARAMS[name]);
|
|
22
|
+
});
|
|
23
|
+
return (((_b = tab === null || tab === void 0 ? void 0 : tab.tabRenderer.content.sectionListRenderer.contents[0].itemSectionRenderer.contents[0].gridRenderer) === null || _b === void 0 ? void 0 : _b.items) || ((_c = data.onResponseReceivedActions) === null || _c === void 0 ? void 0 : _c[0].appendContinuationItemsAction.continuationItems) ||
|
|
20
24
|
[]);
|
|
21
25
|
};
|
|
26
|
+
BaseChannelParser.TAB_TYPE_PARAMS = {
|
|
27
|
+
videos: "EgZ2aWRlb3M%3D",
|
|
28
|
+
playlists: "EglwbGF5bGlzdHM%3D",
|
|
29
|
+
};
|
|
22
30
|
return BaseChannelParser;
|
|
23
31
|
}());
|
|
24
32
|
export { BaseChannelParser };
|
|
@@ -22,7 +22,7 @@ var ChannelParser = /** @class */ (function () {
|
|
|
22
22
|
target.name = title;
|
|
23
23
|
target.thumbnails = new Thumbnails().load(avatar.thumbnails);
|
|
24
24
|
target.videoCount = 0; // data not available
|
|
25
|
-
target.subscriberCount = subscriberCountText.simpleText;
|
|
25
|
+
target.subscriberCount = subscriberCountText === null || subscriberCountText === void 0 ? void 0 : subscriberCountText.simpleText;
|
|
26
26
|
var _b = data.header.c4TabbedHeaderRenderer, tvBanner = _b.tvBanner, mobileBanner = _b.mobileBanner, banner = _b.banner;
|
|
27
27
|
target.banner = new Thumbnails().load((banner === null || banner === void 0 ? void 0 : banner.thumbnails) || []);
|
|
28
28
|
target.tvBanner = new Thumbnails().load((tvBanner === null || tvBanner === void 0 ? void 0 : tvBanner.thumbnails) || []);
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { YoutubeRawData } from "../../common";
|
|
2
2
|
import { BaseChannel } from "./BaseChannel";
|
|
3
3
|
export declare class BaseChannelParser {
|
|
4
|
+
static TAB_TYPE_PARAMS: {
|
|
5
|
+
readonly videos: "EgZ2aWRlb3M%3D";
|
|
6
|
+
readonly playlists: "EglwbGF5bGlzdHM%3D";
|
|
7
|
+
};
|
|
4
8
|
static loadBaseChannel(target: BaseChannel, data: YoutubeRawData): BaseChannel;
|
|
5
9
|
/** Parse tab data from request, tab name is ignored if it's a continuation data */
|
|
6
10
|
static parseTabData(name: "videos" | "playlists", data: YoutubeRawData): YoutubeRawData;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "youtubei",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.4",
|
|
4
4
|
"description": "Simple package to get information from youtube such as videos, playlists, channels, video information & comments, related videos, up next video, and more!",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|