@irfanshadikrishad/anilist
Version:
Minimalist unofficial AniList CLI for Anime and Manga Enthusiasts
52 lines (51 loc) • 2.8 kB
TypeScript
import { DateMonthYear, MALAnimeStatus, MALMangaStatus, MediaWithProgress, User } from "./types.js";
declare const aniListEndpoint = "https://graphql.anilist.co";
declare const redirectUri = "https://anilist.co/api/v2/oauth/pin";
declare function getTitle(title: {
english?: string;
romaji?: string;
}): string;
declare function formatDateObject(dateObj: {
day?: number;
month?: number;
year?: number;
} | null): string;
declare function getNextSeasonAndYear(): {
nextSeason: string;
nextYear: number;
};
declare function removeHtmlAndMarkdown(input: string): string;
declare function getDownloadFolderPath(): string;
declare function getFormattedDate(): string;
/**
* Export JSON as JSON
* @param js0n
* @param dataType (eg: anime|manga)
*/
declare function saveJSONasJSON(js0n: object, dataType: string): Promise<void>;
/**
* Export JSON as CSV
* @param js0n
* @param dataType (eg: anime|manga)
*/
declare function saveJSONasCSV(js0n: MediaWithProgress[], dataType: string): Promise<void>;
declare function saveJSONasXML(js0n: MediaWithProgress[], data_type: 0 | 1): Promise<void>;
declare function selectFile(fileType: string): Promise<string>;
declare function createAnimeXML(malId: number, progress: number, status: MALAnimeStatus, episodes: number, title: string, format: string): string;
declare function createMangaXML(malId: number, progress: number, status: MALMangaStatus, chapters: number, title: string): string;
declare function createAnimeListXML(mediaWithProgress: MediaWithProgress[]): Promise<string>;
declare function createMangaListXML(mediaWithProgress: MediaWithProgress[]): Promise<string>;
declare function getCurrentPackageVersion(): string | null;
declare function timestampToTimeAgo(timestamp: number): string;
declare const anidbToanilistMapper: (romanjiName: string, year: number, englishName?: string) => Promise<number | null>;
/**
* Extract the save file path
* @param data_type - anime|manga
* @param file_format - save format (eg: .json|.csv)
* @returns string of file path
*/
declare function saveToPath(data_type: string, file_format: string): Promise<string>;
declare function simpleDateFormat(date: DateMonthYear): string;
declare function handleRateLimitRetry(retryCount: number): Promise<void>;
declare function logUserDetails(user: User, followersCount: number, followingCount: number): void;
export { anidbToanilistMapper, aniListEndpoint, createAnimeListXML, createAnimeXML, createMangaListXML, createMangaXML, formatDateObject, getCurrentPackageVersion, getDownloadFolderPath, getFormattedDate, getNextSeasonAndYear, getTitle, handleRateLimitRetry, logUserDetails, redirectUri, removeHtmlAndMarkdown, saveJSONasCSV, saveJSONasJSON, saveJSONasXML, saveToPath, selectFile, simpleDateFormat, timestampToTimeAgo, };