myanimelist-wrapper
Version:
A comprehensive TypeScript wrapper for the Jikan API v4 (unofficial MyAnimeList API)
127 lines (126 loc) • 4.41 kB
TypeScript
import type { JikanClient } from "../client";
import type { Anime, AnimeCharacter, AnimeEpisode, AnimeExternal, AnimeForum, AnimeNews, AnimePicture, AnimeQueryParams, AnimeRecommendation, AnimeRelation, AnimeReview, AnimeStaff, AnimeStatistics, AnimeStreaming, AnimeTheme, AnimeUserUpdate, AnimeVideo, JikanPaginatedResponse, JikanResponse } from "../types";
export declare class AnimeEndpoint {
private client;
constructor(client: JikanClient);
/**
* Get anime by ID
* @param id Anime ID
* @returns Promise with anime data
*/
getById(id: number): Promise<JikanResponse<Anime>>;
/**
* Get anime characters and voice actors
* @param id Anime ID
* @returns Promise with anime characters data
*/
getCharacters(id: number): Promise<JikanResponse<AnimeCharacter[]>>;
/**
* Get anime staff
* @param id Anime ID
* @returns Promise with anime staff data
*/
getStaff(id: number): Promise<JikanResponse<AnimeStaff[]>>;
/**
* Get anime episodes
* @param id Anime ID
* @param page Page number
* @returns Promise with anime episodes data
*/
getEpisodes(id: number, page?: number): Promise<JikanPaginatedResponse<AnimeEpisode>>;
/**
* Get anime episode by ID
* @param animeId Anime ID
* @param episodeId Episode ID
* @returns Promise with anime episode data
*/
getEpisodeById(animeId: number, episodeId: number): Promise<JikanResponse<AnimeEpisode>>;
/**
* Get anime news
* @param id Anime ID
* @param page Page number
* @returns Promise with anime news data
*/
getNews(id: number, page?: number): Promise<JikanPaginatedResponse<AnimeNews>>;
/**
* Get anime forum topics
* @param id Anime ID
* @param filter Filter topics (all, episode, other)
* @returns Promise with anime forum data
*/
getForum(id: number, filter?: "all" | "episode" | "other"): Promise<JikanResponse<AnimeForum[]>>;
/**
* Get anime videos
* @param id Anime ID
* @returns Promise with anime videos data
*/
getVideos(id: number): Promise<JikanResponse<AnimeVideo>>;
/**
* Get anime pictures
* @param id Anime ID
* @returns Promise with anime pictures data
*/
getPictures(id: number): Promise<JikanResponse<AnimePicture[]>>;
/**
* Get anime statistics
* @param id Anime ID
* @returns Promise with anime statistics data
*/
getStatistics(id: number): Promise<JikanResponse<AnimeStatistics>>;
/**
* Get more anime info
* @param id Anime ID
* @returns Promise with more anime info
*/
getMoreInfo(id: number): Promise<JikanResponse<string>>;
/**
* Get anime recommendations
* @param id Anime ID
* @returns Promise with anime recommendations data
*/
getRecommendations(id: number): Promise<JikanResponse<AnimeRecommendation[]>>;
/**
* Get anime user updates
* @param id Anime ID
* @param page Page number
* @returns Promise with anime user updates data
*/
getUserUpdates(id: number, page?: number): Promise<JikanPaginatedResponse<AnimeUserUpdate>>;
/**
* Get anime reviews
* @param id Anime ID
* @param page Page number
* @returns Promise with anime reviews data
*/
getReviews(id: number, page?: number): Promise<JikanPaginatedResponse<AnimeReview>>;
/**
* Get anime relations
* @param id Anime ID
* @returns Promise with anime relations data
*/
getRelations(id: number): Promise<JikanResponse<AnimeRelation[]>>;
/**
* Get anime themes
* @param id Anime ID
* @returns Promise with anime themes data
*/
getThemes(id: number): Promise<JikanResponse<AnimeTheme>>;
/**
* Get anime external links
* @param id Anime ID
* @returns Promise with anime external links data
*/
getExternal(id: number): Promise<JikanResponse<AnimeExternal[]>>;
/**
* Get anime streaming links
* @param id Anime ID
* @returns Promise with anime streaming links data
*/
getStreaming(id: number): Promise<JikanResponse<AnimeStreaming[]>>;
/**
* Search for anime
* @param params Search parameters
* @returns Promise with anime search results
*/
search(params?: AnimeQueryParams): Promise<JikanPaginatedResponse<Anime>>;
}