@ernestoyoofi/yt.loader-to
Version:
An unofficial, promise-based API wrapper for `loader.to` to fetch YouTube video information and generate download links. Written in TypeScript, it's fully typed and easy to use in any Node.js project.
58 lines (57 loc) • 1.62 kB
TypeScript
import { AxiosRequestConfig } from "axios";
export interface OptionsDownloadMedia {
axios_config?: AxiosRequestConfig;
hosting?: String;
ajax?: any;
}
export interface Params_DownloadMedia {
link: String;
debugging?: Boolean;
format: "480" | "720" | "1080" | "1440" | "4k" | "8k" | "mp3" | "ogg" | "wav" | "m4a" | "webm" | "aac" | "opus";
options?: OptionsDownloadMedia;
}
export interface InfoContent_API_VideoDownloadAPI {
id: String;
title: String;
link: String;
thumbnail: String;
channel?: {
id: String;
name: String;
link: String | undefined;
verified: Boolean | undefined;
handle: String;
thumbnail: String;
};
description: String;
views: Number;
uploaded: String;
duration: Number;
durationString: String;
}
export interface API_Progress_VideoDownloadAPI {
success: Boolean | Number;
progress?: Number | 0 | 1000;
download?: String | null;
text?: String;
message?: String;
}
export interface API_VideoDownloadAPI {
success: true | Boolean;
id?: String;
content?: String;
info?: {
image?: String | undefined;
title?: String | undefined;
};
repeat_download: true | Boolean;
message?: String;
cachehash?: String;
additional_info?: InfoContent_API_VideoDownloadAPI;
progress_url?: String;
extended_duration?: Number | null | undefined;
}
export default function DownloadMedia({ link, debugging, format, options }: Params_DownloadMedia): Promise<{
card?: InfoContent_API_VideoDownloadAPI | any;
url: String;
}>;