UNPKG

@tutkli/jikan-ts

Version:

Node.js wrapper for the Jikan API with built-in typings.

61 lines (60 loc) 2.22 kB
import type { JikanImages, JikanNamedResource, JikanResource, JikanResourcePeriod, JikanResourceRelation, JikanResourceTitle } from '../Common'; import type { AnimeYoutubeVideo } from './anime-video.model'; export interface Anime { mal_id: number; url: string; images: JikanImages; trailer: AnimeYoutubeVideo; approved: boolean; titles: JikanResourceTitle[]; title: string; title_english?: string | null; title_japanese?: string | null; title_synonyms: string[]; type: AnimeType | null; source: string | null; episodes: number | null; status: AnimeStatus | null; airing: boolean; aired: JikanResourcePeriod; duration: string | null; rating?: AnimeRatingString | null; score: number | null; scored_by: number | null; rank: number | null; popularity: number | null; members: number | null; favorites: number | null; synopsis: string | null; background: string | null; season: AnimeSeason | null; year: number | null; broadcast: AnimeBroadcast; producers: JikanResource[]; licensors: JikanResource[]; studios: JikanResource[]; genres: JikanResource[]; explicit_genres: JikanResource[]; themes: JikanResource[]; demographics: JikanResource[]; relations?: JikanResourceRelation[]; theme?: AnimeTheme; external?: JikanNamedResource[]; streaming?: JikanNamedResource[]; } export interface AnimeBroadcast { day: string | null; time: string | null; timezone: string | null; string: string | null; } export interface AnimeTheme { openings: string[]; endings: string[]; } export type AnimeType = 'TV' | 'OVA' | 'Movie' | 'Special' | 'ONA' | 'Music'; export type AnimeSearchType = 'tv' | 'movie' | 'ova' | 'special' | 'ona' | 'music' | 'cm' | 'pv' | 'tv_special'; export type AnimeStatus = 'Finished Airing' | 'Currently Airing' | 'Not yet aired'; export type AnimeRating = 'g' | 'pg' | 'pg13' | 'r17' | 'r' | 'rx'; export type AnimeRatingString = 'G - All Ages' | 'PG - Children' | 'PG-13 - Teens 13 or older' | 'R - 17+ (violence & profanity)' | 'R+ - Mild Nudity' | 'Rx - Hentai'; export type AnimeSeason = 'spring' | 'summer' | 'fall' | 'winter';