youtubei 1.6.5 → 1.6.6

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.
@@ -7,8 +7,8 @@ const PlaylistCompact_1 = require("../PlaylistCompact");
7
7
  const VideoCompact_1 = require("../VideoCompact");
8
8
  class ChannelParser {
9
9
  static loadChannel(target, data) {
10
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
11
- let channelId, title, avatar, subscriberCountText, videoCountText, tvBanner, mobileBanner, banner;
10
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
11
+ let channelId, title, handle, description, avatar, subscriberCountText, videoCountText, tvBanner, mobileBanner, banner;
12
12
  const { c4TabbedHeaderRenderer, pageHeaderRenderer } = data.header;
13
13
  if (c4TabbedHeaderRenderer) {
14
14
  channelId = c4TabbedHeaderRenderer.channelId;
@@ -25,15 +25,20 @@ class ChannelParser {
25
25
  data.contents.twoColumnBrowseResultsRenderer.tabs[0].tabRenderer.endpoint
26
26
  .browseEndpoint.browseId;
27
27
  title = pageHeaderRenderer.pageTitle;
28
- const { metadata, image: imageModel, banner: bannerModel, } = pageHeaderRenderer.content.pageHeaderViewModel;
29
- const metadataRow = metadata.contentMetadataViewModel.metadataRows.find((m) => m.metadataParts);
30
- subscriberCountText = metadataRow.metadataParts.find((m) => !m.text.styeRuns).text.content;
31
- videoCountText = (_j = metadataRow.metadataParts.find((m) => m.text.styeRuns)) === null || _j === void 0 ? void 0 : _j.text.content;
28
+ const { metadata, image: imageModel, banner: bannerModel, description: descriptionModel, } = pageHeaderRenderer.content.pageHeaderViewModel;
29
+ const metadataRow = metadata.contentMetadataViewModel.metadataRows.find((m) => m.metadataParts && m.metadataParts.length == 2);
30
+ const handleRow = metadata.contentMetadataViewModel.metadataRows.find((m) => m.metadataParts && m.metadataParts.length == 1);
31
+ handle = (_j = handleRow === null || handleRow === void 0 ? void 0 : handleRow.metadataParts[0].text) === null || _j === void 0 ? void 0 : _j.content;
32
+ videoCountText = (_k = metadataRow.metadataParts.find((m) => m.text.styleRuns)) === null || _k === void 0 ? void 0 : _k.text.content;
33
+ subscriberCountText = (_l = metadataRow.metadataParts.find((m) => !m.text.styleRuns)) === null || _l === void 0 ? void 0 : _l.text.content;
32
34
  avatar = imageModel.decoratedAvatarViewModel.avatar.avatarViewModel.image.sources;
33
35
  banner = bannerModel === null || bannerModel === void 0 ? void 0 : bannerModel.imageBannerViewModel.image.sources;
36
+ description = descriptionModel === null || descriptionModel === void 0 ? void 0 : descriptionModel.descriptionPreviewViewModel.description.content;
34
37
  }
35
38
  target.id = channelId;
36
39
  target.name = title;
40
+ target.handle = handle;
41
+ target.description = description;
37
42
  target.thumbnails = new common_1.Thumbnails().load(avatar);
38
43
  target.videoCount = videoCountText;
39
44
  target.subscriberCount = subscriberCountText;
@@ -17,9 +17,9 @@ var ChannelParser = /** @class */ (function () {
17
17
  function ChannelParser() {
18
18
  }
19
19
  ChannelParser.loadChannel = function (target, data) {
20
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
21
- var channelId, title, avatar, subscriberCountText, videoCountText, tvBanner, mobileBanner, banner;
22
- var _k = data.header, c4TabbedHeaderRenderer = _k.c4TabbedHeaderRenderer, pageHeaderRenderer = _k.pageHeaderRenderer;
20
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
21
+ var channelId, title, handle, description, avatar, subscriberCountText, videoCountText, tvBanner, mobileBanner, banner;
22
+ var _m = data.header, c4TabbedHeaderRenderer = _m.c4TabbedHeaderRenderer, pageHeaderRenderer = _m.pageHeaderRenderer;
23
23
  if (c4TabbedHeaderRenderer) {
24
24
  channelId = c4TabbedHeaderRenderer.channelId;
25
25
  title = c4TabbedHeaderRenderer.title;
@@ -35,15 +35,20 @@ var ChannelParser = /** @class */ (function () {
35
35
  data.contents.twoColumnBrowseResultsRenderer.tabs[0].tabRenderer.endpoint
36
36
  .browseEndpoint.browseId;
37
37
  title = pageHeaderRenderer.pageTitle;
38
- var _l = pageHeaderRenderer.content.pageHeaderViewModel, metadata = _l.metadata, imageModel = _l.image, bannerModel = _l.banner;
39
- var metadataRow = metadata.contentMetadataViewModel.metadataRows.find(function (m) { return m.metadataParts; });
40
- subscriberCountText = metadataRow.metadataParts.find(function (m) { return !m.text.styeRuns; }).text.content;
41
- videoCountText = (_j = metadataRow.metadataParts.find(function (m) { return m.text.styeRuns; })) === null || _j === void 0 ? void 0 : _j.text.content;
38
+ var _o = pageHeaderRenderer.content.pageHeaderViewModel, metadata = _o.metadata, imageModel = _o.image, bannerModel = _o.banner, descriptionModel = _o.description;
39
+ var metadataRow = metadata.contentMetadataViewModel.metadataRows.find(function (m) { return m.metadataParts && m.metadataParts.length == 2; });
40
+ var handleRow = metadata.contentMetadataViewModel.metadataRows.find(function (m) { return m.metadataParts && m.metadataParts.length == 1; });
41
+ handle = (_j = handleRow === null || handleRow === void 0 ? void 0 : handleRow.metadataParts[0].text) === null || _j === void 0 ? void 0 : _j.content;
42
+ videoCountText = (_k = metadataRow.metadataParts.find(function (m) { return m.text.styleRuns; })) === null || _k === void 0 ? void 0 : _k.text.content;
43
+ subscriberCountText = (_l = metadataRow.metadataParts.find(function (m) { return !m.text.styleRuns; })) === null || _l === void 0 ? void 0 : _l.text.content;
42
44
  avatar = imageModel.decoratedAvatarViewModel.avatar.avatarViewModel.image.sources;
43
45
  banner = bannerModel === null || bannerModel === void 0 ? void 0 : bannerModel.imageBannerViewModel.image.sources;
46
+ description = descriptionModel === null || descriptionModel === void 0 ? void 0 : descriptionModel.descriptionPreviewViewModel.description.content;
44
47
  }
45
48
  target.id = channelId;
46
49
  target.name = title;
50
+ target.handle = handle;
51
+ target.description = description;
47
52
  target.thumbnails = new Thumbnails().load(avatar);
48
53
  target.videoCount = videoCountText;
49
54
  target.subscriberCount = subscriberCountText;
@@ -16,6 +16,10 @@ export declare class BaseChannel extends Base implements BaseChannelProperties {
16
16
  id: string;
17
17
  /** The channel's name */
18
18
  name: string;
19
+ /** The channel's handle start with @ */
20
+ handle: string;
21
+ /** The channel's description */
22
+ description?: string;
19
23
  /** Thumbnails of this Channel */
20
24
  thumbnails?: Thumbnails;
21
25
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "youtubei",
3
- "version": "1.6.5",
3
+ "version": "1.6.6",
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",