twdl
Version:
Downloads image and video tweets from Twitter
63 lines (62 loc) • 1.92 kB
TypeScript
import { InferredOptionTypes, Options } from 'yargs';
import { DownloadStatus } from './index.js';
import { MediaData, TweetData } from './util.js';
export declare type DownloadUrlFunc = (mediaUrl: string, tweetData: TweetData, mediaData: MediaData, options: Partial<AllOptions>) => DownloadStatus;
export interface ModuleOptions {
downloadUrlFn: DownloadUrlFunc;
}
export interface ICliOptions {
_: string[];
urls: string[];
list: string;
cookie: string;
debug: boolean;
format: string;
embed: boolean;
data: string;
text: boolean;
overwrite: boolean;
date: boolean;
avatar: boolean;
quote: boolean;
media: boolean;
redirect: boolean;
cache: boolean;
ignoreErrors: boolean;
scraper: string;
}
export declare type CliOptionTypes = InferredOptionTypes<{
list: Options;
cookie: Options;
debug: Options;
ignoreErrors: Options;
}>;
export declare const CliOptions: CliOptionTypes;
export declare type DownloadOptionTypes = InferredOptionTypes<{
format: Options;
embed: Options;
data: Options;
text: Options;
overwrite: Options;
date: Options;
redirect: Options;
cache: Options;
scraper: Options;
}>;
export declare enum ScraperType {
Id = "id",
Nitter = "nitter",
Puppeteer = "puppeteer"
}
export declare const DownloadOptions: DownloadOptionTypes;
export declare type DownloadInfoOptionTypes = InferredOptionTypes<{
avatar: Options;
quote: Options;
}>;
export declare const DownloadInfoOptions: DownloadInfoOptionTypes;
export declare type InfoOptionTypes = InferredOptionTypes<{
media: Options;
}>;
export declare const InfoOptions: InfoOptionTypes;
export declare type AllOptions = ICliOptions & ModuleOptions;
export declare function makeOptions(mergeOptions: Partial<AllOptions>): Partial<AllOptions>;