From 68cb841c0058ec5aac7b79b7736fdf57b825da3c Mon Sep 17 00:00:00 2001 From: LuanRT Date: Mon, 11 Jul 2022 06:19:10 -0300 Subject: [PATCH] refactor!: finish parser migration Finally! :) This removes all code related to the old parser. #65 --- build/browser.js | 36 +- build/browser.js.map | 6 +- build/node.js | 10 +- build/node.js.map | 6 +- lib/Innertube.js | 33 +- lib/core/Actions.js | 2 +- lib/core/Feed.js | 23 +- lib/core/FilterableFeed.js | 6 +- lib/core/Music.js | 2 +- lib/parser/{contents => }/README.md | 5 +- .../classes/AnalyticsMainAppKeyMetrics.js | 0 .../{contents => }/classes/AnalyticsVideo.js | 0 .../classes/AnalyticsVodCarouselCard.js | 0 lib/parser/{contents => }/classes/Author.js | 2 +- .../{contents => }/classes/BackstageImage.js | 0 .../{contents => }/classes/BackstagePost.js | 0 .../classes/BackstagePostThread.js | 0 .../classes/BrowseFeedActions.js | 0 lib/parser/{contents => }/classes/Button.js | 0 .../{contents => }/classes/C4TabbedHeader.js | 0 .../classes/CallToActionButton.js | 0 lib/parser/{contents => }/classes/Card.js | 0 .../{contents => }/classes/CardCollection.js | 0 lib/parser/{contents => }/classes/Channel.js | 0 .../classes/ChannelAboutFullMetadata.js | 0 .../classes/ChannelFeaturedContent.js | 0 .../classes/ChannelHeaderLinks.js | 0 .../{contents => }/classes/ChannelMetadata.js | 0 .../classes/ChannelMobileHeader.js | 0 .../classes/ChannelThumbnailWithLink.js | 0 .../classes/ChannelVideoPlayer.js | 0 .../{contents => }/classes/ChildVideo.js | 2 +- .../{contents => }/classes/ChipCloud.js | 0 .../{contents => }/classes/ChipCloudChip.js | 0 .../classes/CollageHeroImage.js | 0 .../{contents => }/classes/CompactLink.js | 0 .../{contents => }/classes/CompactMix.js | 0 .../{contents => }/classes/CompactPlaylist.js | 0 .../{contents => }/classes/CompactVideo.js | 2 +- .../classes/ContinuationItem.js | 0 .../classes/CtaGoToCreatorStudio.js | 0 .../classes/DataModelSection.js | 0 .../{contents => }/classes/DidYouMean.js | 0 .../{contents => }/classes/DownloadButton.js | 0 lib/parser/{contents => }/classes/Element.js | 0 .../{contents => }/classes/EmergencyOnebox.js | 0 lib/parser/{contents => }/classes/EmojiRun.js | 0 .../classes/EndScreenPlaylist.js | 0 .../{contents => }/classes/EndScreenVideo.js | 0 .../{contents => }/classes/Endscreen.js | 0 .../classes/EndscreenElement.js | 0 .../{contents => }/classes/ExpandableTab.js | 0 .../classes/ExpandedShelfContents.js | 0 .../classes/FeedFilterChipBar.js | 0 .../classes/FeedTabbedHeader.js | 0 lib/parser/{contents => }/classes/Format.js | 0 lib/parser/{contents => }/classes/Grid.js | 0 .../{contents => }/classes/GridChannel.js | 0 .../{contents => }/classes/GridPlaylist.js | 0 .../{contents => }/classes/GridVideo.js | 0 .../classes/HistorySuggestion.js | 0 .../classes/HorizontalCardList.js | 0 .../{contents => }/classes/HorizontalList.js | 0 .../{contents => }/classes/ItemSection.js | 0 .../classes/ItemSectionHeader.js | 0 .../{contents => }/classes/LikeButton.js | 0 lib/parser/{contents => }/classes/LiveChat.js | 0 .../classes/LiveChatAuthorBadge.js | 0 .../{contents => }/classes/LiveChatHeader.js | 0 .../classes/LiveChatItemList.js | 0 .../classes/LiveChatMessageInput.js | 0 .../classes/LiveChatParticipant.js | 0 .../classes/LiveChatParticipantsList.js | 0 .../{contents => }/classes/MerchandiseItem.js | 0 .../classes/MerchandiseShelf.js | 0 lib/parser/{contents => }/classes/Message.js | 0 .../{contents => }/classes/MetadataBadge.js | 0 .../{contents => }/classes/MetadataRow.js | 0 .../classes/MetadataRowContainer.js | 0 .../classes/MetadataRowHeader.js | 0 .../{contents => }/classes/MicroformatData.js | 0 lib/parser/{contents => }/classes/Mix.js | 0 lib/parser/{contents => }/classes/Movie.js | 2 +- .../{contents => }/classes/MovingThumbnail.js | 0 .../classes/MusicCarouselShelf.js | 0 .../classes/MusicCarouselShelfBasicHeader.js | 0 .../classes/MusicDescriptionShelf.js | 0 .../classes/MusicDetailHeader.js | 0 .../{contents => }/classes/MusicHeader.js | 0 .../classes/MusicImmersiveHeader.js | 0 .../classes/MusicInlineBadge.js | 0 .../classes/MusicItemThumbnailOverlay.js | 0 .../classes/MusicNavigationButton.js | 0 .../{contents => }/classes/MusicPlayButton.js | 0 .../classes/MusicPlaylistShelf.js | 0 .../{contents => }/classes/MusicQueue.js | 0 .../classes/MusicResponsiveListItem.js | 2 +- .../MusicResponsiveListItemFixedColumn.js | 0 .../MusicResponsiveListItemFlexColumn.js | 0 .../{contents => }/classes/MusicShelf.js | 0 .../{contents => }/classes/MusicThumbnail.js | 0 .../{contents => }/classes/MusicTwoRowItem.js | 0 .../{contents => }/classes/NavigatableText.js | 0 .../classes/NavigationEndpoint.js | 0 .../{contents => }/classes/Notification.js | 2 +- .../classes/PlayerAnnotationsExpanded.js | 0 .../classes/PlayerCaptionsTracklist.js | 0 .../classes/PlayerErrorMessage.js | 0 .../classes/PlayerLiveStoryboardSpec.js | 0 .../classes/PlayerMicroformat.js | 0 .../{contents => }/classes/PlayerOverlay.js | 0 .../classes/PlayerOverlayAutoplay.js | 0 .../classes/PlayerStoryboardSpec.js | 0 lib/parser/{contents => }/classes/Playlist.js | 0 .../{contents => }/classes/PlaylistAuthor.js | 0 .../{contents => }/classes/PlaylistHeader.js | 0 lib/parser/classes/PlaylistInfoCardContent.js | 19 + .../classes/PlaylistMetadata.js | 0 .../{contents => }/classes/PlaylistPanel.js | 0 .../classes/PlaylistPanelVideo.js | 2 +- .../{contents => }/classes/PlaylistSidebar.js | 0 .../classes/PlaylistSidebarPrimaryInfo.js | 0 .../classes/PlaylistSidebarSecondaryInfo.js | 0 .../{contents => }/classes/PlaylistVideo.js | 0 .../classes/PlaylistVideoList.js | 0 .../classes/PlaylistVideoThumbnail.js | 0 lib/parser/{contents => }/classes/Poll.js | 8 +- lib/parser/{contents => }/classes/Post.js | 0 .../{contents => }/classes/ProfileColumn.js | 0 .../classes/ProfileColumnStats.js | 0 .../classes/ProfileColumnStatsEntry.js | 0 .../classes/ProfileColumnUserInfo.js | 0 lib/parser/{contents => }/classes/ReelItem.js | 0 .../{contents => }/classes/ReelShelf.js | 0 .../classes/RelatedChipCloud.js | 0 lib/parser/{contents => }/classes/RichGrid.js | 0 lib/parser/{contents => }/classes/RichItem.js | 0 .../{contents => }/classes/RichListHeader.js | 0 .../{contents => }/classes/RichSection.js | 0 .../{contents => }/classes/RichShelf.js | 0 .../{contents => }/classes/SearchBox.js | 0 .../classes/SearchRefinementCard.js | 0 .../classes/SearchSuggestion.js | 0 .../classes/SearchSuggestionsSection.js | 0 .../classes/SecondarySearchContainer.js | 0 .../{contents => }/classes/SectionList.js | 0 lib/parser/{contents => }/classes/Shelf.js | 0 .../classes/ShowingResultsFor.js | 0 .../classes/SimpleCardTeaser.js | 0 .../classes/SingleActionEmergencySupport.js | 0 .../classes/SingleColumnBrowseResults.js | 0 .../SingleColumnMusicWatchNextResults.js | 0 .../{contents => }/classes/SingleHeroImage.js | 0 .../classes/SortFilterSubMenu.js | 2 +- .../{contents => }/classes/SubFeedOption.js | 0 .../{contents => }/classes/SubFeedSelector.js | 0 .../{contents => }/classes/SubscribeButton.js | 0 .../SubscriptionNotificationToggleButton.js | 0 lib/parser/{contents => }/classes/Tab.js | 0 lib/parser/{contents => }/classes/Tabbed.js | 0 .../classes/TabbedSearchResults.js | 0 lib/parser/{contents => }/classes/Text.js | 0 .../{contents => }/classes/TextHeader.js | 0 lib/parser/{contents => }/classes/TextRun.js | 0 .../{contents => }/classes/Thumbnail.js | 0 .../classes/ThumbnailOverlayBottomPanel.js | 0 .../classes/ThumbnailOverlayEndorsement.js | 0 .../classes/ThumbnailOverlayHoverText.js | 0 .../ThumbnailOverlayInlineUnplayable.js | 0 .../classes/ThumbnailOverlayLoadingPreview.js | 0 .../classes/ThumbnailOverlayNowPlaying.js | 0 .../classes/ThumbnailOverlayPinking.js | 0 .../classes/ThumbnailOverlayPlaybackStatus.js | 0 .../classes/ThumbnailOverlayResumePlayback.js | 0 .../classes/ThumbnailOverlaySidePanel.js | 0 .../classes/ThumbnailOverlayTimeStatus.js | 0 .../classes/ThumbnailOverlayToggleButton.js | 0 .../{contents => }/classes/ToggleButton.js | 0 .../classes/ToggleMenuServiceItem.js | 0 lib/parser/{contents => }/classes/Tooltip.js | 0 .../classes/TwoColumnBrowseResults.js | 0 .../classes/TwoColumnSearchResults.js | 0 .../classes/TwoColumnWatchNextResults.js | 0 .../classes/UniversalWatchCard.js | 0 .../{contents => }/classes/VerticalList.js | 0 .../classes/VerticalWatchCardList.js | 0 lib/parser/{contents => }/classes/Video.js | 2 +- .../{contents => }/classes/VideoDetails.js | 0 .../classes/VideoInfoCardContent.js | 0 .../{contents => }/classes/VideoOwner.js | 0 .../classes/VideoPrimaryInfo.js | 0 .../classes/VideoSecondaryInfo.js | 0 .../classes/WatchCardCompactVideo.js | 2 +- .../classes/WatchCardHeroVideo.js | 0 .../classes/WatchCardRichHeader.js | 0 .../classes/WatchCardSectionSequence.js | 0 .../classes/WatchNextEndScreen.js | 0 .../classes/WatchNextTabbedResults.js | 0 .../actions/AppendContinuationItemsAction.js | 2 +- .../classes/actions/OpenPopupAction.js | 2 +- .../classes/comments/AuthorCommentBadge.js | 0 .../classes => classes/comments}/Comment.js | 8 +- .../classes/comments/CommentActionButtons.js | 0 .../classes/comments/CommentReplies.js | 0 .../comments}/CommentReplyDialog.js | 6 +- .../classes/comments/CommentSimplebox.js | 0 .../comments}/CommentThread.js | 4 +- .../comments}/CommentsEntryPointHeader.js | 4 +- .../comments}/CommentsHeader.js | 6 +- .../livechat/AddBannerToLiveChatCommand.js | 0 .../classes/livechat/AddChatItemAction.js | 0 .../livechat/AddLiveChatTickerItemAction.js | 0 .../classes/livechat/LiveChatActionPanel.js | 0 .../livechat/MarkChatItemAsDeletedAction.js | 0 .../MarkChatItemsByAuthorAsDeletedAction.js | 0 .../RemoveBannerForLiveChatCommand.js | 0 .../classes/livechat/ReplaceChatItemAction.js | 0 .../classes/livechat/ReplayChatItemAction.js | 0 .../livechat/ShowLiveChatActionPanelAction.js | 0 .../livechat/ShowLiveChatTooltipCommand.js | 0 .../classes/livechat/UpdateDateTextAction.js | 0 .../livechat/UpdateDescriptionAction.js | 0 .../livechat/UpdateLiveChatPollAction.js | 0 .../classes/livechat/UpdateTitleAction.js | 0 .../livechat/UpdateToggleButtonTextAction.js | 0 .../livechat/UpdateViewershipAction.js | 0 .../classes/livechat/items/LiveChatBanner.js | 0 .../livechat/items/LiveChatBannerHeader.js | 0 .../livechat/items/LiveChatBannerPoll.js | 0 .../livechat/items/LiveChatMembershipItem.js | 0 .../livechat/items/LiveChatPaidMessage.js | 0 .../livechat/items/LiveChatPaidSticker.js | 0 .../livechat/items/LiveChatPlaceholderItem.js | 0 .../livechat/items/LiveChatTextMessage.js | 0 .../items/LiveChatTickerPaidMessageItem.js | 0 .../items/LiveChatTickerSponsorItem.js | 0 .../items/LiveChatViewerEngagementMessage.js | 0 .../classes/livechat/items/PollHeader.js | 0 .../{contents => }/classes/menus/Menu.js | 0 .../classes/menus/MenuNavigationItem.js | 0 .../classes/menus/MenuServiceItem.js | 0 .../classes/menus/MenuServiceItemDownload.js | 0 .../classes/menus/MultiPageMenu.js | 2 +- .../menus/MultiPageMenuNotificationSection.js | 4 +- .../classes/menus/SimpleMenuHeader.js | 2 +- lib/parser/contents/index.js | 307 ------ lib/parser/contents/map.js | 18 - lib/parser/index.js | 925 ++++++------------ lib/parser/map.js | 18 + lib/parser/youtube/Analytics.js | 2 +- lib/parser/youtube/Channel.js | 2 +- lib/parser/youtube/Comments.js | 6 +- lib/parser/youtube/History.js | 2 + lib/parser/youtube/Library.js | 4 +- lib/parser/youtube/LiveChat.js | 14 +- lib/parser/youtube/NotificationsMenu.js | 22 +- lib/parser/youtube/Search.js | 12 +- lib/parser/youtube/VideoInfo.js | 32 +- lib/parser/youtube/index.js | 14 - lib/parser/youtube/others/ChannelMetadata.js | 20 - lib/parser/youtube/others/CommentThread.js | 36 - lib/parser/youtube/others/GridPlaylistItem.js | 20 - lib/parser/youtube/others/GridVideoItem.js | 35 - lib/parser/youtube/others/NotificationItem.js | 26 - lib/parser/youtube/others/PlaylistItem.js | 26 - lib/parser/youtube/others/ShelfRenderer.js | 41 - lib/parser/youtube/others/VideoItem.js | 46 - .../youtube/search/SearchSuggestionItem.js | 12 - lib/parser/youtube/search/VideoResultItem.js | 43 - lib/parser/ytmusic/Album.js | 6 +- lib/parser/ytmusic/Artist.js | 4 +- lib/parser/ytmusic/Explore.js | 2 +- lib/parser/ytmusic/HomeFeed.js | 4 +- lib/parser/ytmusic/Library.js | 2 +- lib/parser/ytmusic/Search.js | 16 +- lib/parser/ytmusic/index.js | 12 - lib/parser/ytmusic/others/PlaylistItem.js | 28 - lib/parser/ytmusic/search/AlbumResultItem.js | 22 - lib/parser/ytmusic/search/ArtistResultItem.js | 19 - .../search/MusicSearchSuggestionItem.js | 24 - .../ytmusic/search/PlaylistResultItem.js | 23 - lib/parser/ytmusic/search/SongResultItem.js | 30 - lib/parser/ytmusic/search/TopResultItem.js | 45 - lib/parser/ytmusic/search/VideoResultItem.js | 30 - scripts/build-parser-json.js | 6 +- 285 files changed, 492 insertions(+), 1680 deletions(-) rename lib/parser/{contents => }/README.md (96%) rename lib/parser/{contents => }/classes/AnalyticsMainAppKeyMetrics.js (100%) rename lib/parser/{contents => }/classes/AnalyticsVideo.js (100%) rename lib/parser/{contents => }/classes/AnalyticsVodCarouselCard.js (100%) rename lib/parser/{contents => }/classes/Author.js (94%) rename lib/parser/{contents => }/classes/BackstageImage.js (100%) rename lib/parser/{contents => }/classes/BackstagePost.js (100%) rename lib/parser/{contents => }/classes/BackstagePostThread.js (100%) rename lib/parser/{contents => }/classes/BrowseFeedActions.js (100%) rename lib/parser/{contents => }/classes/Button.js (100%) rename lib/parser/{contents => }/classes/C4TabbedHeader.js (100%) rename lib/parser/{contents => }/classes/CallToActionButton.js (100%) rename lib/parser/{contents => }/classes/Card.js (100%) rename lib/parser/{contents => }/classes/CardCollection.js (100%) rename lib/parser/{contents => }/classes/Channel.js (100%) rename lib/parser/{contents => }/classes/ChannelAboutFullMetadata.js (100%) rename lib/parser/{contents => }/classes/ChannelFeaturedContent.js (100%) rename lib/parser/{contents => }/classes/ChannelHeaderLinks.js (100%) rename lib/parser/{contents => }/classes/ChannelMetadata.js (100%) rename lib/parser/{contents => }/classes/ChannelMobileHeader.js (100%) rename lib/parser/{contents => }/classes/ChannelThumbnailWithLink.js (100%) rename lib/parser/{contents => }/classes/ChannelVideoPlayer.js (100%) rename lib/parser/{contents => }/classes/ChildVideo.js (85%) rename lib/parser/{contents => }/classes/ChipCloud.js (100%) rename lib/parser/{contents => }/classes/ChipCloudChip.js (100%) rename lib/parser/{contents => }/classes/CollageHeroImage.js (100%) rename lib/parser/{contents => }/classes/CompactLink.js (100%) rename lib/parser/{contents => }/classes/CompactMix.js (100%) rename lib/parser/{contents => }/classes/CompactPlaylist.js (100%) rename lib/parser/{contents => }/classes/CompactVideo.js (93%) rename lib/parser/{contents => }/classes/ContinuationItem.js (100%) rename lib/parser/{contents => }/classes/CtaGoToCreatorStudio.js (100%) rename lib/parser/{contents => }/classes/DataModelSection.js (100%) rename lib/parser/{contents => }/classes/DidYouMean.js (100%) rename lib/parser/{contents => }/classes/DownloadButton.js (100%) rename lib/parser/{contents => }/classes/Element.js (100%) rename lib/parser/{contents => }/classes/EmergencyOnebox.js (100%) rename lib/parser/{contents => }/classes/EmojiRun.js (100%) rename lib/parser/{contents => }/classes/EndScreenPlaylist.js (100%) rename lib/parser/{contents => }/classes/EndScreenVideo.js (100%) rename lib/parser/{contents => }/classes/Endscreen.js (100%) rename lib/parser/{contents => }/classes/EndscreenElement.js (100%) rename lib/parser/{contents => }/classes/ExpandableTab.js (100%) rename lib/parser/{contents => }/classes/ExpandedShelfContents.js (100%) rename lib/parser/{contents => }/classes/FeedFilterChipBar.js (100%) rename lib/parser/{contents => }/classes/FeedTabbedHeader.js (100%) rename lib/parser/{contents => }/classes/Format.js (100%) rename lib/parser/{contents => }/classes/Grid.js (100%) rename lib/parser/{contents => }/classes/GridChannel.js (100%) rename lib/parser/{contents => }/classes/GridPlaylist.js (100%) rename lib/parser/{contents => }/classes/GridVideo.js (100%) rename lib/parser/{contents => }/classes/HistorySuggestion.js (100%) rename lib/parser/{contents => }/classes/HorizontalCardList.js (100%) rename lib/parser/{contents => }/classes/HorizontalList.js (100%) rename lib/parser/{contents => }/classes/ItemSection.js (100%) rename lib/parser/{contents => }/classes/ItemSectionHeader.js (100%) rename lib/parser/{contents => }/classes/LikeButton.js (100%) rename lib/parser/{contents => }/classes/LiveChat.js (100%) rename lib/parser/{contents => }/classes/LiveChatAuthorBadge.js (100%) rename lib/parser/{contents => }/classes/LiveChatHeader.js (100%) rename lib/parser/{contents => }/classes/LiveChatItemList.js (100%) rename lib/parser/{contents => }/classes/LiveChatMessageInput.js (100%) rename lib/parser/{contents => }/classes/LiveChatParticipant.js (100%) rename lib/parser/{contents => }/classes/LiveChatParticipantsList.js (100%) rename lib/parser/{contents => }/classes/MerchandiseItem.js (100%) rename lib/parser/{contents => }/classes/MerchandiseShelf.js (100%) rename lib/parser/{contents => }/classes/Message.js (100%) rename lib/parser/{contents => }/classes/MetadataBadge.js (100%) rename lib/parser/{contents => }/classes/MetadataRow.js (100%) rename lib/parser/{contents => }/classes/MetadataRowContainer.js (100%) rename lib/parser/{contents => }/classes/MetadataRowHeader.js (100%) rename lib/parser/{contents => }/classes/MicroformatData.js (100%) rename lib/parser/{contents => }/classes/Mix.js (100%) rename lib/parser/{contents => }/classes/Movie.js (95%) rename lib/parser/{contents => }/classes/MovingThumbnail.js (100%) rename lib/parser/{contents => }/classes/MusicCarouselShelf.js (100%) rename lib/parser/{contents => }/classes/MusicCarouselShelfBasicHeader.js (100%) rename lib/parser/{contents => }/classes/MusicDescriptionShelf.js (100%) rename lib/parser/{contents => }/classes/MusicDetailHeader.js (100%) rename lib/parser/{contents => }/classes/MusicHeader.js (100%) rename lib/parser/{contents => }/classes/MusicImmersiveHeader.js (100%) rename lib/parser/{contents => }/classes/MusicInlineBadge.js (100%) rename lib/parser/{contents => }/classes/MusicItemThumbnailOverlay.js (100%) rename lib/parser/{contents => }/classes/MusicNavigationButton.js (100%) rename lib/parser/{contents => }/classes/MusicPlayButton.js (100%) rename lib/parser/{contents => }/classes/MusicPlaylistShelf.js (100%) rename lib/parser/{contents => }/classes/MusicQueue.js (100%) rename lib/parser/{contents => }/classes/MusicResponsiveListItem.js (98%) rename lib/parser/{contents => }/classes/MusicResponsiveListItemFixedColumn.js (100%) rename lib/parser/{contents => }/classes/MusicResponsiveListItemFlexColumn.js (100%) rename lib/parser/{contents => }/classes/MusicShelf.js (100%) rename lib/parser/{contents => }/classes/MusicThumbnail.js (100%) rename lib/parser/{contents => }/classes/MusicTwoRowItem.js (100%) rename lib/parser/{contents => }/classes/NavigatableText.js (100%) rename lib/parser/{contents => }/classes/NavigationEndpoint.js (100%) rename lib/parser/{contents => }/classes/Notification.js (95%) rename lib/parser/{contents => }/classes/PlayerAnnotationsExpanded.js (100%) rename lib/parser/{contents => }/classes/PlayerCaptionsTracklist.js (100%) rename lib/parser/{contents => }/classes/PlayerErrorMessage.js (100%) rename lib/parser/{contents => }/classes/PlayerLiveStoryboardSpec.js (100%) rename lib/parser/{contents => }/classes/PlayerMicroformat.js (100%) rename lib/parser/{contents => }/classes/PlayerOverlay.js (100%) rename lib/parser/{contents => }/classes/PlayerOverlayAutoplay.js (100%) rename lib/parser/{contents => }/classes/PlayerStoryboardSpec.js (100%) rename lib/parser/{contents => }/classes/Playlist.js (100%) rename lib/parser/{contents => }/classes/PlaylistAuthor.js (100%) rename lib/parser/{contents => }/classes/PlaylistHeader.js (100%) create mode 100644 lib/parser/classes/PlaylistInfoCardContent.js rename lib/parser/{contents => }/classes/PlaylistMetadata.js (100%) rename lib/parser/{contents => }/classes/PlaylistPanel.js (100%) rename lib/parser/{contents => }/classes/PlaylistPanelVideo.js (94%) rename lib/parser/{contents => }/classes/PlaylistSidebar.js (100%) rename lib/parser/{contents => }/classes/PlaylistSidebarPrimaryInfo.js (100%) rename lib/parser/{contents => }/classes/PlaylistSidebarSecondaryInfo.js (100%) rename lib/parser/{contents => }/classes/PlaylistVideo.js (100%) rename lib/parser/{contents => }/classes/PlaylistVideoList.js (100%) rename lib/parser/{contents => }/classes/PlaylistVideoThumbnail.js (100%) rename lib/parser/{contents => }/classes/Poll.js (95%) rename lib/parser/{contents => }/classes/Post.js (100%) rename lib/parser/{contents => }/classes/ProfileColumn.js (100%) rename lib/parser/{contents => }/classes/ProfileColumnStats.js (100%) rename lib/parser/{contents => }/classes/ProfileColumnStatsEntry.js (100%) rename lib/parser/{contents => }/classes/ProfileColumnUserInfo.js (100%) rename lib/parser/{contents => }/classes/ReelItem.js (100%) rename lib/parser/{contents => }/classes/ReelShelf.js (100%) rename lib/parser/{contents => }/classes/RelatedChipCloud.js (100%) rename lib/parser/{contents => }/classes/RichGrid.js (100%) rename lib/parser/{contents => }/classes/RichItem.js (100%) rename lib/parser/{contents => }/classes/RichListHeader.js (100%) rename lib/parser/{contents => }/classes/RichSection.js (100%) rename lib/parser/{contents => }/classes/RichShelf.js (100%) rename lib/parser/{contents => }/classes/SearchBox.js (100%) rename lib/parser/{contents => }/classes/SearchRefinementCard.js (100%) rename lib/parser/{contents => }/classes/SearchSuggestion.js (100%) rename lib/parser/{contents => }/classes/SearchSuggestionsSection.js (100%) rename lib/parser/{contents => }/classes/SecondarySearchContainer.js (100%) rename lib/parser/{contents => }/classes/SectionList.js (100%) rename lib/parser/{contents => }/classes/Shelf.js (100%) rename lib/parser/{contents => }/classes/ShowingResultsFor.js (100%) rename lib/parser/{contents => }/classes/SimpleCardTeaser.js (100%) rename lib/parser/{contents => }/classes/SingleActionEmergencySupport.js (100%) rename lib/parser/{contents => }/classes/SingleColumnBrowseResults.js (100%) rename lib/parser/{contents => }/classes/SingleColumnMusicWatchNextResults.js (100%) rename lib/parser/{contents => }/classes/SingleHeroImage.js (100%) rename lib/parser/{contents => }/classes/SortFilterSubMenu.js (82%) rename lib/parser/{contents => }/classes/SubFeedOption.js (100%) rename lib/parser/{contents => }/classes/SubFeedSelector.js (100%) rename lib/parser/{contents => }/classes/SubscribeButton.js (100%) rename lib/parser/{contents => }/classes/SubscriptionNotificationToggleButton.js (100%) rename lib/parser/{contents => }/classes/Tab.js (100%) rename lib/parser/{contents => }/classes/Tabbed.js (100%) rename lib/parser/{contents => }/classes/TabbedSearchResults.js (100%) rename lib/parser/{contents => }/classes/Text.js (100%) rename lib/parser/{contents => }/classes/TextHeader.js (100%) rename lib/parser/{contents => }/classes/TextRun.js (100%) rename lib/parser/{contents => }/classes/Thumbnail.js (100%) rename lib/parser/{contents => }/classes/ThumbnailOverlayBottomPanel.js (100%) rename lib/parser/{contents => }/classes/ThumbnailOverlayEndorsement.js (100%) rename lib/parser/{contents => }/classes/ThumbnailOverlayHoverText.js (100%) rename lib/parser/{contents => }/classes/ThumbnailOverlayInlineUnplayable.js (100%) rename lib/parser/{contents => }/classes/ThumbnailOverlayLoadingPreview.js (100%) rename lib/parser/{contents => }/classes/ThumbnailOverlayNowPlaying.js (100%) rename lib/parser/{contents => }/classes/ThumbnailOverlayPinking.js (100%) rename lib/parser/{contents => }/classes/ThumbnailOverlayPlaybackStatus.js (100%) rename lib/parser/{contents => }/classes/ThumbnailOverlayResumePlayback.js (100%) rename lib/parser/{contents => }/classes/ThumbnailOverlaySidePanel.js (100%) rename lib/parser/{contents => }/classes/ThumbnailOverlayTimeStatus.js (100%) rename lib/parser/{contents => }/classes/ThumbnailOverlayToggleButton.js (100%) rename lib/parser/{contents => }/classes/ToggleButton.js (100%) rename lib/parser/{contents => }/classes/ToggleMenuServiceItem.js (100%) rename lib/parser/{contents => }/classes/Tooltip.js (100%) rename lib/parser/{contents => }/classes/TwoColumnBrowseResults.js (100%) rename lib/parser/{contents => }/classes/TwoColumnSearchResults.js (100%) rename lib/parser/{contents => }/classes/TwoColumnWatchNextResults.js (100%) rename lib/parser/{contents => }/classes/UniversalWatchCard.js (100%) rename lib/parser/{contents => }/classes/VerticalList.js (100%) rename lib/parser/{contents => }/classes/VerticalWatchCardList.js (100%) rename lib/parser/{contents => }/classes/Video.js (97%) rename lib/parser/{contents => }/classes/VideoDetails.js (100%) rename lib/parser/{contents => }/classes/VideoInfoCardContent.js (100%) rename lib/parser/{contents => }/classes/VideoOwner.js (100%) rename lib/parser/{contents => }/classes/VideoPrimaryInfo.js (100%) rename lib/parser/{contents => }/classes/VideoSecondaryInfo.js (100%) rename lib/parser/{contents => }/classes/WatchCardCompactVideo.js (79%) rename lib/parser/{contents => }/classes/WatchCardHeroVideo.js (100%) rename lib/parser/{contents => }/classes/WatchCardRichHeader.js (100%) rename lib/parser/{contents => }/classes/WatchCardSectionSequence.js (100%) rename lib/parser/{contents => }/classes/WatchNextEndScreen.js (100%) rename lib/parser/{contents => }/classes/WatchNextTabbedResults.js (100%) rename lib/parser/{contents => }/classes/actions/AppendContinuationItemsAction.js (82%) rename lib/parser/{contents => }/classes/actions/OpenPopupAction.js (85%) rename lib/parser/{contents => }/classes/comments/AuthorCommentBadge.js (100%) rename lib/parser/{contents/classes => classes/comments}/Comment.js (95%) rename lib/parser/{contents => }/classes/comments/CommentActionButtons.js (100%) rename lib/parser/{contents => }/classes/comments/CommentReplies.js (100%) rename lib/parser/{contents/classes => classes/comments}/CommentReplyDialog.js (73%) rename lib/parser/{contents => }/classes/comments/CommentSimplebox.js (100%) rename lib/parser/{contents/classes => classes/comments}/CommentThread.js (93%) rename lib/parser/{contents/classes => classes/comments}/CommentsEntryPointHeader.js (78%) rename lib/parser/{contents/classes => classes/comments}/CommentsHeader.js (81%) rename lib/parser/{contents => }/classes/livechat/AddBannerToLiveChatCommand.js (100%) rename lib/parser/{contents => }/classes/livechat/AddChatItemAction.js (100%) rename lib/parser/{contents => }/classes/livechat/AddLiveChatTickerItemAction.js (100%) rename lib/parser/{contents => }/classes/livechat/LiveChatActionPanel.js (100%) rename lib/parser/{contents => }/classes/livechat/MarkChatItemAsDeletedAction.js (100%) rename lib/parser/{contents => }/classes/livechat/MarkChatItemsByAuthorAsDeletedAction.js (100%) rename lib/parser/{contents => }/classes/livechat/RemoveBannerForLiveChatCommand.js (100%) rename lib/parser/{contents => }/classes/livechat/ReplaceChatItemAction.js (100%) rename lib/parser/{contents => }/classes/livechat/ReplayChatItemAction.js (100%) rename lib/parser/{contents => }/classes/livechat/ShowLiveChatActionPanelAction.js (100%) rename lib/parser/{contents => }/classes/livechat/ShowLiveChatTooltipCommand.js (100%) rename lib/parser/{contents => }/classes/livechat/UpdateDateTextAction.js (100%) rename lib/parser/{contents => }/classes/livechat/UpdateDescriptionAction.js (100%) rename lib/parser/{contents => }/classes/livechat/UpdateLiveChatPollAction.js (100%) rename lib/parser/{contents => }/classes/livechat/UpdateTitleAction.js (100%) rename lib/parser/{contents => }/classes/livechat/UpdateToggleButtonTextAction.js (100%) rename lib/parser/{contents => }/classes/livechat/UpdateViewershipAction.js (100%) rename lib/parser/{contents => }/classes/livechat/items/LiveChatBanner.js (100%) rename lib/parser/{contents => }/classes/livechat/items/LiveChatBannerHeader.js (100%) rename lib/parser/{contents => }/classes/livechat/items/LiveChatBannerPoll.js (100%) rename lib/parser/{contents => }/classes/livechat/items/LiveChatMembershipItem.js (100%) rename lib/parser/{contents => }/classes/livechat/items/LiveChatPaidMessage.js (100%) rename lib/parser/{contents => }/classes/livechat/items/LiveChatPaidSticker.js (100%) rename lib/parser/{contents => }/classes/livechat/items/LiveChatPlaceholderItem.js (100%) rename lib/parser/{contents => }/classes/livechat/items/LiveChatTextMessage.js (100%) rename lib/parser/{contents => }/classes/livechat/items/LiveChatTickerPaidMessageItem.js (100%) rename lib/parser/{contents => }/classes/livechat/items/LiveChatTickerSponsorItem.js (100%) rename lib/parser/{contents => }/classes/livechat/items/LiveChatViewerEngagementMessage.js (100%) rename lib/parser/{contents => }/classes/livechat/items/PollHeader.js (100%) rename lib/parser/{contents => }/classes/menus/Menu.js (100%) rename lib/parser/{contents => }/classes/menus/MenuNavigationItem.js (100%) rename lib/parser/{contents => }/classes/menus/MenuServiceItem.js (100%) rename lib/parser/{contents => }/classes/menus/MenuServiceItemDownload.js (100%) rename lib/parser/{contents => }/classes/menus/MultiPageMenu.js (87%) rename lib/parser/{contents => }/classes/menus/MultiPageMenuNotificationSection.js (81%) rename lib/parser/{contents => }/classes/menus/SimpleMenuHeader.js (87%) delete mode 100644 lib/parser/contents/index.js delete mode 100644 lib/parser/contents/map.js create mode 100644 lib/parser/map.js delete mode 100644 lib/parser/youtube/index.js delete mode 100644 lib/parser/youtube/others/ChannelMetadata.js delete mode 100644 lib/parser/youtube/others/CommentThread.js delete mode 100644 lib/parser/youtube/others/GridPlaylistItem.js delete mode 100644 lib/parser/youtube/others/GridVideoItem.js delete mode 100644 lib/parser/youtube/others/NotificationItem.js delete mode 100644 lib/parser/youtube/others/PlaylistItem.js delete mode 100644 lib/parser/youtube/others/ShelfRenderer.js delete mode 100644 lib/parser/youtube/others/VideoItem.js delete mode 100644 lib/parser/youtube/search/SearchSuggestionItem.js delete mode 100644 lib/parser/youtube/search/VideoResultItem.js delete mode 100644 lib/parser/ytmusic/index.js delete mode 100644 lib/parser/ytmusic/others/PlaylistItem.js delete mode 100644 lib/parser/ytmusic/search/AlbumResultItem.js delete mode 100644 lib/parser/ytmusic/search/ArtistResultItem.js delete mode 100644 lib/parser/ytmusic/search/MusicSearchSuggestionItem.js delete mode 100644 lib/parser/ytmusic/search/PlaylistResultItem.js delete mode 100644 lib/parser/ytmusic/search/SongResultItem.js delete mode 100644 lib/parser/ytmusic/search/TopResultItem.js delete mode 100644 lib/parser/ytmusic/search/VideoResultItem.js diff --git a/build/browser.js b/build/browser.js index e3e8a398..cfb81fb0 100644 --- a/build/browser.js +++ b/build/browser.js @@ -1,34 +1,34 @@ "use strict";/* eslint-disable */ -var or=Object.defineProperty;var sA=Object.getOwnPropertyDescriptor;var gA=Object.getOwnPropertyNames;var hA=Object.prototype.hasOwnProperty;var dA=(t,e,i)=>e in t?or(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var p=(t,e)=>or(t,"name",{value:e,configurable:!0});var Ft=(t,e)=>()=>(t&&(e=t(t=0)),e);var w=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),vA=(t,e)=>{for(var i in e)or(t,i,{get:e[i],enumerable:!0})},fA=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of gA(e))!hA.call(t,o)&&o!==i&&or(t,o,{get:()=>e[o],enumerable:!(n=sA(e,o))||n.enumerable});return t};var Fv=t=>fA(or({},"__esModule",{value:!0}),t);var Zt=(t,e,i)=>(dA(t,typeof e!="symbol"?e+"":e,i),i),Kd=(t,e,i)=>{if(!e.has(t))throw TypeError("Cannot "+i)};var y=(t,e,i)=>(Kd(t,e,"read from private field"),i?i.call(t):e.get(t)),x=(t,e,i)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,i)},B=(t,e,i,n)=>(Kd(t,e,"write to private field"),n?n.call(t,i):e.set(t,i),i);var J=(t,e,i)=>(Kd(t,e,"access private method"),i);function rr(){if(!Ia&&(Ia=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!Ia))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Ia(uA)}var Ia,uA,Sd=Ft(()=>{uA=new Uint8Array(16);p(rr,"rng")});var Yv,Qv=Ft(()=>{Yv=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i});function wA(t){return typeof t=="string"&&Yv.test(t)}var yn,ar=Ft(()=>{Qv();p(wA,"validate");yn=wA});function WA(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=(At[t[e+0]]+At[t[e+1]]+At[t[e+2]]+At[t[e+3]]+"-"+At[t[e+4]]+At[t[e+5]]+"-"+At[t[e+6]]+At[t[e+7]]+"-"+At[t[e+8]]+At[t[e+9]]+"-"+At[t[e+10]]+At[t[e+11]]+At[t[e+12]]+At[t[e+13]]+At[t[e+14]]+At[t[e+15]]).toLowerCase();if(!yn(i))throw TypeError("Stringified UUID is invalid");return i}var At,Ka,Hn,pr=Ft(()=>{ar();At=[];for(Ka=0;Ka<256;++Ka)At.push((Ka+256).toString(16).substr(1));p(WA,"stringify");Hn=WA});function mA(t,e,i){var n=e&&i||0,o=e||new Array(16);t=t||{};var r=t.node||$v,a=t.clockseq!==void 0?t.clockseq:Gd;if(r==null||a==null){var c=t.random||(t.rng||rr)();r==null&&(r=$v=[c[0]|1,c[1],c[2],c[3],c[4],c[5]]),a==null&&(a=Gd=(c[6]<<8|c[7])&16383)}var l=t.msecs!==void 0?t.msecs:Date.now(),s=t.nsecs!==void 0?t.nsecs:xd+1,g=l-bd+(s-xd)/1e4;if(g<0&&t.clockseq===void 0&&(a=a+1&16383),(g<0||l>bd)&&t.nsecs===void 0&&(s=0),s>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");bd=l,xd=s,Gd=a,l+=122192928e5;var h=((l&268435455)*1e4+s)%4294967296;o[n++]=h>>>24&255,o[n++]=h>>>16&255,o[n++]=h>>>8&255,o[n++]=h&255;var d=l/4294967296*1e4&268435455;o[n++]=d>>>8&255,o[n++]=d&255,o[n++]=d>>>24&15|16,o[n++]=d>>>16&255,o[n++]=a>>>8|128,o[n++]=a&255;for(var f=0;f<6;++f)o[n+f]=r[f];return e||Hn(o)}var $v,Gd,bd,xd,jv,Jv=Ft(()=>{Sd();pr();bd=0,xd=0;p(mA,"v1");jv=mA});function kA(t){if(!yn(t))throw TypeError("Invalid UUID");var e,i=new Uint8Array(16);return i[0]=(e=parseInt(t.slice(0,8),16))>>>24,i[1]=e>>>16&255,i[2]=e>>>8&255,i[3]=e&255,i[4]=(e=parseInt(t.slice(9,13),16))>>>8,i[5]=e&255,i[6]=(e=parseInt(t.slice(14,18),16))>>>8,i[7]=e&255,i[8]=(e=parseInt(t.slice(19,23),16))>>>8,i[9]=e&255,i[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,i[11]=e/4294967296&255,i[12]=e>>>24&255,i[13]=e>>>16&255,i[14]=e>>>8&255,i[15]=e&255,i}var Sa,_d=Ft(()=>{ar();p(kA,"parse");Sa=kA});function MA(t){t=unescape(encodeURIComponent(t));for(var e=[],i=0;i{pr();_d();p(MA,"stringToBytes");yA="6ba7b810-9dad-11d1-80b4-00c04fd430c8",HA="6ba7b811-9dad-11d1-80b4-00c04fd430c8";p(cr,"default")});function TA(t){if(typeof t=="string"){var e=unescape(encodeURIComponent(t));t=new Uint8Array(e.length);for(var i=0;i>5]>>>o%32&255,a=parseInt(n.charAt(r>>>4&15)+n.charAt(r&15),16);e.push(a)}return e}function Zv(t){return(t+64>>>9<<4)+14+1}function CA(t,e){t[e>>5]|=128<>5]|=(t[n/8]&255)<>16)+(e>>16)+(i>>16);return n<<16|i&65535}function AA(t,e){return t<>>32-e}function Ga(t,e,i,n,o,r){return Tn(AA(Tn(Tn(e,t),Tn(n,r)),o),i)}function Ot(t,e,i,n,o,r,a){return Ga(e&i|~e&n,t,e,o,r,a)}function Xt(t,e,i,n,o,r,a){return Ga(e&n|i&~n,t,e,o,r,a)}function Rt(t,e,i,n,o,r,a){return Ga(e^i^n,t,e,o,r,a)}function Bt(t,e,i,n,o,r,a){return Ga(i^(e|~n),t,e,o,r,a)}var e4,t4=Ft(()=>{p(TA,"md5");p(NA,"md5ToHexEncodedArray");p(Zv,"getOutputLength");p(CA,"wordsToMd5");p(LA,"bytesToWords");p(Tn,"safeAdd");p(AA,"bitRotateLeft");p(Ga,"md5cmn");p(Ot,"md5ff");p(Xt,"md5gg");p(Rt,"md5hh");p(Bt,"md5ii");e4=TA});var IA,i4,n4=Ft(()=>{zd();t4();IA=cr("v3",48,e4),i4=IA});function KA(t,e,i){t=t||{};var n=t.random||(t.rng||rr)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){i=i||0;for(var o=0;o<16;++o)e[i+o]=n[o];return e}return Hn(n)}var o4,r4=Ft(()=>{Sd();pr();p(KA,"v4");o4=KA});function SA(t,e,i,n){switch(t){case 0:return e&i^~e&n;case 1:return e^i^n;case 2:return e&i^e&n^i&n;case 3:return e^i^n}}function Ed(t,e){return t<>>32-e}function GA(t){var e=[1518500249,1859775393,2400959708,3395469782],i=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){var n=unescape(encodeURIComponent(t));t=[];for(var o=0;o>>0;N=C,C=H,H=Ed(W,30)>>>0,W=u,u=E}i[0]=i[0]+u>>>0,i[1]=i[1]+W>>>0,i[2]=i[2]+H>>>0,i[3]=i[3]+C>>>0,i[4]=i[4]+N>>>0}return[i[0]>>24&255,i[0]>>16&255,i[0]>>8&255,i[0]&255,i[1]>>24&255,i[1]>>16&255,i[1]>>8&255,i[1]&255,i[2]>>24&255,i[2]>>16&255,i[2]>>8&255,i[2]&255,i[3]>>24&255,i[3]>>16&255,i[3]>>8&255,i[3]&255,i[4]>>24&255,i[4]>>16&255,i[4]>>8&255,i[4]&255]}var a4,p4=Ft(()=>{p(SA,"f");p(Ed,"ROTL");p(GA,"sha1");a4=GA});var bA,c4,l4=Ft(()=>{zd();p4();bA=cr("v5",80,a4),c4=bA});var s4,g4=Ft(()=>{s4="00000000-0000-0000-0000-000000000000"});function xA(t){if(!yn(t))throw TypeError("Invalid UUID");return parseInt(t.substr(14,1),16)}var h4,d4=Ft(()=>{ar();p(xA,"version");h4=xA});var Od={};vA(Od,{NIL:()=>s4,parse:()=>Sa,stringify:()=>Hn,v1:()=>jv,v3:()=>i4,v4:()=>o4,v5:()=>c4,validate:()=>yn,version:()=>h4});var Xd=Ft(()=>{Jv();n4();r4();l4();g4();d4();ar();pr();_d()});var It=w((zq,v4)=>{"use strict";v4.exports={URLS:{YT_BASE:"https://www.youtube.com",YT_MUSIC_BASE:"https://music.youtube.com",YT_SUGGESTIONS:"https://suggestqueries.google.com/complete/",API:{BASE:"https://youtubei.googleapis.com",PRODUCTION:"https://youtubei.googleapis.com/youtubei/",STAGING:"https://green-youtubei.sandbox.googleapis.com/youtubei/",RELEASE:"https://release-youtubei.sandbox.googleapis.com/youtubei/",TEST:"https://test-youtubei.sandbox.googleapis.com/youtubei/",CAMI:"http://cami-youtubei.sandbox.googleapis.com/youtubei/",UYTFE:"https://uytfe.sandbox.google.com/youtubei/"}},OAUTH:{SCOPE:"http://gdata.youtube.com https://www.googleapis.com/auth/youtube-paid-content",GRANT_TYPE:"http://oauth.net/grant_type/device/1.0",MODEL_NAME:"ytlr::",HEADERS:{accept:"*/*",origin:"https://www.youtube.com","user-agent":"Mozilla/5.0 (ChromiumStylePlatform) Cobalt/Version","content-type":"application/json",referer:"https://www.youtube.com/tv","accept-language":"en-US"},REGEX:{AUTH_SCRIPT:/