youtubei 1.4.0 → 1.4.1
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/youtube/BaseVideo/VideoCaptions.js +2 -2
- package/dist/cjs/youtube/Channel/ChannelParser.js +28 -7
- package/dist/cjs/youtube/index.js +1 -0
- package/dist/esm/youtube/BaseVideo/VideoCaptions.js +2 -2
- package/dist/esm/youtube/Channel/ChannelParser.js +28 -7
- package/dist/esm/youtube/index.js +1 -0
- package/dist/typings/youtube/BaseVideo/VideoCaptions.d.ts +2 -2
- package/dist/typings/youtube/index.d.ts +1 -0
- package/package.json +2 -2
|
@@ -18,9 +18,9 @@ const Caption_1 = require("../Caption");
|
|
|
18
18
|
* @example
|
|
19
19
|
* ```js
|
|
20
20
|
*
|
|
21
|
-
* console.log(
|
|
21
|
+
* console.log(video.captions.languages.map((l) => `${l.code} - ${l.name}`)); // printing out available languages for captions
|
|
22
22
|
*
|
|
23
|
-
* console.log(await
|
|
23
|
+
* console.log(await video.captions.get("en")); // printing out captions of a specific language using language code
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
26
|
class VideoCaptions extends Base_1.Base {
|
|
@@ -7,16 +7,37 @@ const PlaylistCompact_1 = require("../PlaylistCompact");
|
|
|
7
7
|
const VideoCompact_1 = require("../VideoCompact");
|
|
8
8
|
class ChannelParser {
|
|
9
9
|
static loadChannel(target, data) {
|
|
10
|
-
|
|
10
|
+
var _a, _b, _c;
|
|
11
|
+
let channelId, title, avatar, subscriberCountText, tvBanner, mobileBanner, banner;
|
|
12
|
+
const { c4TabbedHeaderRenderer, pageHeaderRenderer } = data.header;
|
|
13
|
+
if (c4TabbedHeaderRenderer) {
|
|
14
|
+
channelId = c4TabbedHeaderRenderer.channelId;
|
|
15
|
+
title = c4TabbedHeaderRenderer.title;
|
|
16
|
+
subscriberCountText = (_a = c4TabbedHeaderRenderer.subscriberCountText) === null || _a === void 0 ? void 0 : _a.simpleText;
|
|
17
|
+
avatar = (_b = c4TabbedHeaderRenderer.avatar) === null || _b === void 0 ? void 0 : _b.thumbnails;
|
|
18
|
+
tvBanner = (_c = c4TabbedHeaderRenderer.tvBanner) === null || _c === void 0 ? void 0 : _c.thumbnails;
|
|
19
|
+
mobileBanner = c4TabbedHeaderRenderer.mobileBanner.thumbnails;
|
|
20
|
+
banner = c4TabbedHeaderRenderer.banner.thumbnails;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
channelId =
|
|
24
|
+
data.contents.twoColumnBrowseResultsRenderer.tabs[0].tabRenderer.endpoint
|
|
25
|
+
.browseEndpoint.browseId;
|
|
26
|
+
title = pageHeaderRenderer.pageTitle;
|
|
27
|
+
const { metadata, image: imageModel, banner: bannerModel, } = pageHeaderRenderer.content.pageHeaderViewModel;
|
|
28
|
+
subscriberCountText =
|
|
29
|
+
metadata.contentMetadataViewModel.metadataRows[1].metadataParts[0].text.content;
|
|
30
|
+
avatar = imageModel.decoratedAvatarViewModel.avatar.avatarViewModel.image.sources;
|
|
31
|
+
banner = bannerModel.imageBannerViewModel.image.sources;
|
|
32
|
+
}
|
|
11
33
|
target.id = channelId;
|
|
12
34
|
target.name = title;
|
|
13
|
-
target.thumbnails = new common_1.Thumbnails().load(avatar
|
|
35
|
+
target.thumbnails = new common_1.Thumbnails().load(avatar);
|
|
14
36
|
target.videoCount = 0; // data not available
|
|
15
|
-
target.subscriberCount = subscriberCountText
|
|
16
|
-
|
|
17
|
-
target.
|
|
18
|
-
target.
|
|
19
|
-
target.mobileBanner = new common_1.Thumbnails().load((mobileBanner === null || mobileBanner === void 0 ? void 0 : mobileBanner.thumbnails) || []);
|
|
37
|
+
target.subscriberCount = subscriberCountText;
|
|
38
|
+
target.banner = new common_1.Thumbnails().load(banner || []);
|
|
39
|
+
target.tvBanner = new common_1.Thumbnails().load(tvBanner || []);
|
|
40
|
+
target.mobileBanner = new common_1.Thumbnails().load(mobileBanner || []);
|
|
20
41
|
target.shelves = ChannelParser.parseShelves(target, data);
|
|
21
42
|
return target;
|
|
22
43
|
}
|
|
@@ -13,6 +13,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
__exportStar(require("./Base"), exports);
|
|
14
14
|
__exportStar(require("./BaseChannel"), exports);
|
|
15
15
|
__exportStar(require("./BaseVideo"), exports);
|
|
16
|
+
__exportStar(require("./Caption"), exports);
|
|
16
17
|
__exportStar(require("./Channel"), exports);
|
|
17
18
|
__exportStar(require("./Chat"), exports);
|
|
18
19
|
__exportStar(require("./Client"), exports);
|
|
@@ -55,9 +55,9 @@ import { Caption, CaptionLanguage } from "../Caption";
|
|
|
55
55
|
* @example
|
|
56
56
|
* ```js
|
|
57
57
|
*
|
|
58
|
-
* console.log(
|
|
58
|
+
* console.log(video.captions.languages.map((l) => `${l.code} - ${l.name}`)); // printing out available languages for captions
|
|
59
59
|
*
|
|
60
|
-
* console.log(await
|
|
60
|
+
* console.log(await video.captions.get("en")); // printing out captions of a specific language using language code
|
|
61
61
|
* ```
|
|
62
62
|
*/
|
|
63
63
|
var VideoCaptions = /** @class */ (function (_super) {
|
|
@@ -17,16 +17,37 @@ var ChannelParser = /** @class */ (function () {
|
|
|
17
17
|
function ChannelParser() {
|
|
18
18
|
}
|
|
19
19
|
ChannelParser.loadChannel = function (target, data) {
|
|
20
|
-
var _a
|
|
20
|
+
var _a, _b, _c;
|
|
21
|
+
var channelId, title, avatar, subscriberCountText, tvBanner, mobileBanner, banner;
|
|
22
|
+
var _d = data.header, c4TabbedHeaderRenderer = _d.c4TabbedHeaderRenderer, pageHeaderRenderer = _d.pageHeaderRenderer;
|
|
23
|
+
if (c4TabbedHeaderRenderer) {
|
|
24
|
+
channelId = c4TabbedHeaderRenderer.channelId;
|
|
25
|
+
title = c4TabbedHeaderRenderer.title;
|
|
26
|
+
subscriberCountText = (_a = c4TabbedHeaderRenderer.subscriberCountText) === null || _a === void 0 ? void 0 : _a.simpleText;
|
|
27
|
+
avatar = (_b = c4TabbedHeaderRenderer.avatar) === null || _b === void 0 ? void 0 : _b.thumbnails;
|
|
28
|
+
tvBanner = (_c = c4TabbedHeaderRenderer.tvBanner) === null || _c === void 0 ? void 0 : _c.thumbnails;
|
|
29
|
+
mobileBanner = c4TabbedHeaderRenderer.mobileBanner.thumbnails;
|
|
30
|
+
banner = c4TabbedHeaderRenderer.banner.thumbnails;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
channelId =
|
|
34
|
+
data.contents.twoColumnBrowseResultsRenderer.tabs[0].tabRenderer.endpoint
|
|
35
|
+
.browseEndpoint.browseId;
|
|
36
|
+
title = pageHeaderRenderer.pageTitle;
|
|
37
|
+
var _e = pageHeaderRenderer.content.pageHeaderViewModel, metadata = _e.metadata, imageModel = _e.image, bannerModel = _e.banner;
|
|
38
|
+
subscriberCountText =
|
|
39
|
+
metadata.contentMetadataViewModel.metadataRows[1].metadataParts[0].text.content;
|
|
40
|
+
avatar = imageModel.decoratedAvatarViewModel.avatar.avatarViewModel.image.sources;
|
|
41
|
+
banner = bannerModel.imageBannerViewModel.image.sources;
|
|
42
|
+
}
|
|
21
43
|
target.id = channelId;
|
|
22
44
|
target.name = title;
|
|
23
|
-
target.thumbnails = new Thumbnails().load(avatar
|
|
45
|
+
target.thumbnails = new Thumbnails().load(avatar);
|
|
24
46
|
target.videoCount = 0; // data not available
|
|
25
|
-
target.subscriberCount = subscriberCountText
|
|
26
|
-
|
|
27
|
-
target.
|
|
28
|
-
target.
|
|
29
|
-
target.mobileBanner = new Thumbnails().load((mobileBanner === null || mobileBanner === void 0 ? void 0 : mobileBanner.thumbnails) || []);
|
|
47
|
+
target.subscriberCount = subscriberCountText;
|
|
48
|
+
target.banner = new Thumbnails().load(banner || []);
|
|
49
|
+
target.tvBanner = new Thumbnails().load(tvBanner || []);
|
|
50
|
+
target.mobileBanner = new Thumbnails().load(mobileBanner || []);
|
|
30
51
|
target.shelves = ChannelParser.parseShelves(target, data);
|
|
31
52
|
return target;
|
|
32
53
|
};
|
|
@@ -14,9 +14,9 @@ interface ConstructorParams {
|
|
|
14
14
|
* @example
|
|
15
15
|
* ```js
|
|
16
16
|
*
|
|
17
|
-
* console.log(
|
|
17
|
+
* console.log(video.captions.languages.map((l) => `${l.code} - ${l.name}`)); // printing out available languages for captions
|
|
18
18
|
*
|
|
19
|
-
* console.log(await
|
|
19
|
+
* console.log(await video.captions.get("en")); // printing out captions of a specific language using language code
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
22
|
export declare class VideoCaptions extends Base {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "youtubei",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.1",
|
|
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",
|
|
@@ -63,6 +63,6 @@
|
|
|
63
63
|
"homepage": "https://suspiciouslookingowl.github.io/youtubei",
|
|
64
64
|
"dependencies": {
|
|
65
65
|
"node-fetch": "2.6.7",
|
|
66
|
-
"protobufjs": "7.2.
|
|
66
|
+
"protobufjs": "7.2.6"
|
|
67
67
|
}
|
|
68
68
|
}
|