UNPKG

myanimelist-wrapper

Version:

A comprehensive TypeScript wrapper for the Jikan API v4 (unofficial MyAnimeList API)

127 lines (126 loc) 4.41 kB
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>>; }