mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-06-22 22:18:14 +00:00
feat(parser): Parse OpenPopupAction in onResponseReceivedEndpoints arrays
This commit is contained in:
@@ -37,6 +37,8 @@ import VideoDetails from './classes/misc/VideoDetails.js';
|
||||
import NavigationEndpoint from './classes/NavigationEndpoint.js';
|
||||
import CommentView from './classes/comments/CommentView.js';
|
||||
import MusicThumbnail from './classes/MusicThumbnail.js';
|
||||
import OpenPopupAction from './classes/actions/OpenPopupAction.js';
|
||||
import AppendContinuationItemsAction from './classes/actions/AppendContinuationItemsAction.js';
|
||||
import type { IParsedResponse, IRawResponse, RawData, RawNode } from './types/index.js';
|
||||
|
||||
const TAG = 'Parser';
|
||||
@@ -385,7 +387,7 @@ export function parseResponse<T extends IParsedResponse = IParsedResponse>(data:
|
||||
status: data.playabilityStatus.status,
|
||||
reason: data.playabilityStatus.reason || '',
|
||||
embeddable: !!data.playabilityStatus.playableInEmbed || false,
|
||||
audio_only_playablility: parseItem(data.playabilityStatus.audioOnlyPlayability, AudioOnlyPlayability),
|
||||
audio_only_playability: parseItem(data.playabilityStatus.audioOnlyPlayability, AudioOnlyPlayability),
|
||||
error_screen: parseItem(data.playabilityStatus.errorScreen)
|
||||
} : null;
|
||||
|
||||
@@ -716,13 +718,15 @@ export function parseRR(actions: RawNode[]) {
|
||||
return observe(actions.map((action: any) => {
|
||||
if (action.navigateAction)
|
||||
return new NavigateAction(action.navigateAction);
|
||||
if (action.showMiniplayerCommand)
|
||||
else if (action.showMiniplayerCommand)
|
||||
return new ShowMiniplayerCommand(action.showMiniplayerCommand);
|
||||
if (action.reloadContinuationItemsCommand)
|
||||
else if (action.reloadContinuationItemsCommand)
|
||||
return new ReloadContinuationItemsCommand(action.reloadContinuationItemsCommand);
|
||||
if (action.appendContinuationItemsAction)
|
||||
return new YTNodes.AppendContinuationItemsAction(action.appendContinuationItemsAction);
|
||||
}).filter((item) => item) as (ReloadContinuationItemsCommand | YTNodes.AppendContinuationItemsAction)[]);
|
||||
else if (action.appendContinuationItemsAction)
|
||||
return new AppendContinuationItemsAction(action.appendContinuationItemsAction);
|
||||
else if (action.openPopupAction)
|
||||
return new OpenPopupAction(action.openPopupAction);
|
||||
}).filter((item) => item) as (AppendContinuationItemsAction | OpenPopupAction | NavigateAction | ShowMiniplayerCommand | ReloadContinuationItemsCommand)[]);
|
||||
}
|
||||
|
||||
export function parseActions(data: RawData) {
|
||||
|
||||
Reference in New Issue
Block a user