@imput/youtubei.js
Version:
A JavaScript client for YouTube's private API, known as InnerTube. Fork of youtubei.js
42 lines (41 loc) • 1.63 kB
TypeScript
import { YTNode } from '../helpers.js';
import { type IEndpoint, type RawNode } from '../index.js';
import OpenPopupAction from './actions/OpenPopupAction.js';
import CreatePlaylistDialog from './CreatePlaylistDialog.js';
import type Actions from '../../core/Actions.js';
import type ModalWithTitleAndButton from './ModalWithTitleAndButton.js';
import type { ApiResponse } from '../../core/Actions.js';
import type { IParsedResponse } from '../types/index.js';
export type Metadata = {
url?: string;
api_url?: string;
page_type?: string;
send_post?: boolean;
};
export default class NavigationEndpoint extends YTNode {
static type: string;
name?: string;
payload: any;
dialog?: CreatePlaylistDialog | YTNode | null;
modal?: ModalWithTitleAndButton | YTNode | null;
open_popup?: OpenPopupAction | null;
next_endpoint?: NavigationEndpoint;
metadata: Metadata;
command?: YTNode | YTNode & IEndpoint;
commands?: NavigationEndpoint[];
constructor(data: RawNode);
/**
* Sometimes InnerTube does not return an API url, in that case the library should set it based on the name of the payload object.
* @deprecated This should be removed in the future.
*/
getPath(name: string): "/player" | "/search" | "/browse" | "/next" | "/live_chat/get_item_context_menu" | undefined;
call<T extends IParsedResponse>(actions: Actions, args: {
[key: string]: any;
parse: true;
}): Promise<T>;
call(actions: Actions, args?: {
[key: string]: any;
parse?: false;
}): Promise<ApiResponse>;
toURL(): string | undefined;
}