contentapi.ts
Version:
Nodejs library that provides high-level APIs for obtaining information on various entertainment media such as books, movies, comic books, anime, manga, and so on.
57 lines (56 loc) • 2.29 kB
TypeScript
import { AxiosAdapter } from 'axios';
import { AnimeParser, ISearch, IAnimeInfo, IEpisodeServer, StreamingServers, IAnimeResult, ISource, ProxyConfig } from '../../models';
declare class Gogoanime extends AnimeParser {
readonly name = "Gogoanime";
protected baseUrl: string;
protected logo: string;
protected classPath: string;
private readonly ajaxUrl;
constructor(customBaseURL?: string, proxy?: ProxyConfig, adapter?: AxiosAdapter);
/**
*
* @param query search query string
* @param page page number (default 1) (optional)
*/
search: (query: string, page?: number) => Promise<ISearch<IAnimeResult>>;
/**
*
* @param id anime id
*/
fetchAnimeInfo: (id: string) => Promise<IAnimeInfo>;
/**
*
* @param episodeId episode id
* @param server server type (default 'GogoCDN') (optional)
*/
fetchEpisodeSources: (episodeId: string, server?: StreamingServers, downloadUrl?: string | undefined) => Promise<ISource>;
/**
*
* @param episodeId episode link or episode id
*/
fetchEpisodeServers: (episodeId: string) => Promise<IEpisodeServer[]>;
/**
*
* @param episodeId episode link or episode id
*/
fetchAnimeIdFromEpisodeId: (episodeId: string) => Promise<string>;
/**
* @param page page number (optional)
* @param type type of media. (optional) (default `1`) `1`: Japanese with subtitles, `2`: english/dub with no subtitles, `3`: chinese with english subtitles
*/
fetchRecentEpisodes: (page?: number, type?: number) => Promise<ISearch<IAnimeResult>>;
fetchGenreInfo: (genre: string, page?: number) => Promise<ISearch<IAnimeResult>>;
fetchTopAiring: (page?: number) => Promise<ISearch<IAnimeResult>>;
fetchRecentMovies: (page?: number) => Promise<ISearch<IAnimeResult>>;
fetchPopular: (page?: number) => Promise<ISearch<IAnimeResult>>;
fetchGenreList: () => Promise<{
id: string | undefined;
title: string | undefined;
}[]>;
fetchDirectDownloadLink: (downloadUrl: string, captchaToken?: string) => Promise<{
source: string | undefined;
link: string | undefined;
}[]>;
fetchAnimeList: (page?: number) => Promise<ISearch<IAnimeResult>>;
}
export default Gogoanime;