UNPKG

@yuna0x0/anilist-node

Version:

A lightweight Node.js wrapper for the AniList API

855 lines (820 loc) 69.9 kB
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <title>docDefinition.js - AniList-Node Documentation</title> <meta name="description" content="Documentation for the AniList-Node NPM package." /> <meta property="og:title" content="AniList-Node Documentation" /> <meta property="og:type" content="website" /> <meta property="og:image" content="" /> <meta property="og:site_name" content="AniList-Node Documentation" /> <meta property="og:url" content="https://katsurin.com/docs/anilist-node/" /> <script src="scripts/prettify/prettify.js"></script> <script src="scripts/prettify/lang-css.js"></script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify.css" /> <link type="text/css" rel="stylesheet" href="styles/jsdoc.css" /> <script src="scripts/nav.js" defer></script> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> </head> <body> <input type="checkbox" id="nav-trigger" class="nav-trigger" /> <label for="nav-trigger" class="navicon-button x"> <div class="navicon"></div> </label> <label for="nav-trigger" class="overlay"></label> <nav> <input type="text" id="nav-search" placeholder="Search" /> <h2><a href="index.html">Home</a></h2> <h2> <a href="https://github.com/AurelicButter/AniList-Node" target="_blank" class="menu-item" id="website_link" >GitHub Repository</a > </h2> <h2> <a href="https://www.npmjs.com/package/anilist-node" target="_blank" class="menu-item" id="website_link" >AniList-Node on NPM</a > </h2> <h2> <a href="https://discord.gg/qKfqsjW" target="_blank" class="menu-item" id="website_link" >Support Server</a > </h2> <h3>Classes</h3> <ul> <li> <a href="AniList.html">AniList</a> <ul class="methods"> <li data-type="method"><a href="AniList.html#favouriteStudio">favouriteStudio</a></li> <li data-type="method"><a href="AniList.html#genres">genres</a></li> <li data-type="method"><a href="AniList.html#mediaTags">mediaTags</a></li> <li data-type="method"><a href="AniList.html#search">search</a></li> <li data-type="method"><a href="AniList.html#siteStatistics">siteStatistics</a></li> <li data-type="method"><a href="AniList.html#studio">studio</a></li> </ul> </li> <li> <a href="AniList.Activity.html">Activity</a> <ul class="methods"> <li data-type="method"><a href="AniList.Activity.html#delete">delete</a></li> <li data-type="method"><a href="AniList.Activity.html#get">get</a></li> <li data-type="method"><a href="AniList.Activity.html#getUserActivity">getUserActivity</a></li> <li data-type="method"><a href="AniList.Activity.html#postMessage">postMessage</a></li> <li data-type="method"><a href="AniList.Activity.html#postText">postText</a></li> </ul> </li> <li> <a href="AniList.Lists.html">Lists</a> <ul class="methods"> <li data-type="method"><a href="AniList.Lists.html#addEntry">addEntry</a></li> <li data-type="method"><a href="AniList.Lists.html#anime">anime</a></li> <li data-type="method"><a href="AniList.Lists.html#manga">manga</a></li> <li data-type="method"><a href="AniList.Lists.html#removeEntry">removeEntry</a></li> <li data-type="method"><a href="AniList.Lists.html#updateEntry">updateEntry</a></li> </ul> </li> <li> <a href="AniList.Media.html">Media</a> <ul class="methods"> <li data-type="method"><a href="AniList.Media.html#anime">anime</a></li> <li data-type="method"><a href="AniList.Media.html#favouriteAnime">favouriteAnime</a></li> <li data-type="method"><a href="AniList.Media.html#favouriteManga">favouriteManga</a></li> <li data-type="method"><a href="AniList.Media.html#manga">manga</a></li> </ul> </li> <li> <a href="AniList.People.html">People</a> <ul class="methods"> <li data-type="method"><a href="AniList.People.html#character">character</a></li> <li data-type="method"><a href="AniList.People.html#favouriteChar">favouriteChar</a></li> <li data-type="method"><a href="AniList.People.html#favouriteStaff">favouriteStaff</a></li> <li data-type="method"> <a href="AniList.People.html#getBirthdayCharacters">getBirthdayCharacters</a> </li> <li data-type="method"><a href="AniList.People.html#getBirthdayStaff">getBirthdayStaff</a></li> <li data-type="method"><a href="AniList.People.html#staff">staff</a></li> </ul> </li> <li> <a href="AniList.Recommendation.html">Recommendation</a> <ul class="methods"> <li data-type="method"><a href="AniList.Recommendation.html#get">get</a></li> <li data-type="method"><a href="AniList.Recommendation.html#getList">getList</a></li> </ul> </li> <li> <a href="AniList.Search.html">Search</a> <ul class="methods"> <li data-type="method"><a href="AniList.Search.html#activity">activity</a></li> <li data-type="method"><a href="AniList.Search.html#anime">anime</a></li> <li data-type="method"><a href="AniList.Search.html#character">character</a></li> <li data-type="method"><a href="AniList.Search.html#manga">manga</a></li> <li data-type="method"><a href="AniList.Search.html#staff">staff</a></li> <li data-type="method"><a href="AniList.Search.html#studio">studio</a></li> <li data-type="method"><a href="AniList.Search.html#user">user</a></li> </ul> </li> <li> <a href="AniList.Thread.html">Thread</a> <ul class="methods"> <li data-type="method"><a href="AniList.Thread.html#delete">delete</a></li> <li data-type="method"><a href="AniList.Thread.html#get">get</a></li> <li data-type="method"><a href="AniList.Thread.html#getComments">getComments</a></li> </ul> </li> <li> <a href="AniList.User.html">User</a> <ul class="methods"> <li data-type="method"><a href="AniList.User.html#all">all</a></li> <li data-type="method"><a href="AniList.User.html#follow">follow</a></li> <li data-type="method"><a href="AniList.User.html#getAuthorized">getAuthorized</a></li> <li data-type="method"><a href="AniList.User.html#getRecentActivity">getRecentActivity</a></li> <li data-type="method"><a href="AniList.User.html#profile">profile</a></li> <li data-type="method"><a href="AniList.User.html#stats">stats</a></li> <li data-type="method"><a href="AniList.User.html#update">update</a></li> </ul> </li> </ul> <h3>Tutorials</h3> <ul> <li><a href="tutorial-Filtering.html">Filtering</a></li> <li><a href="tutorial-Getting Started.html">Getting Started</a></li> </ul> <h3>Global</h3> <ul> <li><a href="global.html#ActivityEntry">ActivityEntry</a></li> <li><a href="global.html#ActivityFilterTypes">ActivityFilterTypes</a></li> <li><a href="global.html#ActivitySort">ActivitySort</a></li> <li><a href="global.html#ActivityType">ActivityType</a></li> <li><a href="global.html#AiringEntry">AiringEntry</a></li> <li><a href="global.html#AniListStats">AniListStats</a></li> <li><a href="global.html#AnimeEntry">AnimeEntry</a></li> <li><a href="global.html#CharacterEntry">CharacterEntry</a></li> <li><a href="global.html#CharacterName">CharacterName</a></li> <li><a href="global.html#CountryCode">CountryCode</a></li> <li><a href="global.html#EntryStatus">EntryStatus</a></li> <li><a href="global.html#FuzzyDateInt">FuzzyDateInt</a></li> <li><a href="global.html#FuzzyDateObj">FuzzyDateObj</a></li> <li><a href="global.html#InitOptions">InitOptions</a></li> <li><a href="global.html#ListActivity">ListActivity</a></li> <li><a href="global.html#ListEntry">ListEntry</a></li> <li><a href="global.html#MangaEntry">MangaEntry</a></li> <li><a href="global.html#MediaFilterTypes">MediaFilterTypes</a></li> <li><a href="global.html#MediaFormat">MediaFormat</a></li> <li><a href="global.html#MediaListOptions">MediaListOptions</a></li> <li><a href="global.html#MediaListOptionsInput">MediaListOptionsInput</a></li> <li><a href="global.html#MediaRelation">MediaRelation</a></li> <li><a href="global.html#MediaSeason">MediaSeason</a></li> <li><a href="global.html#MediaSort">MediaSort</a></li> <li><a href="global.html#MediaSource">MediaSource</a></li> <li><a href="global.html#MediaStatus">MediaStatus</a></li> <li><a href="global.html#MediaTag">MediaTag</a></li> <li><a href="global.html#MediaTitle">MediaTitle</a></li> <li><a href="global.html#MediaType">MediaType</a></li> <li><a href="global.html#MessageActivity">MessageActivity</a></li> <li><a href="global.html#ModRole">ModRole</a></li> <li><a href="global.html#NotificationOption">NotificationOption</a></li> <li><a href="global.html#NotificationType">NotificationType</a></li> <li><a href="global.html#PersonName">PersonName</a></li> <li><a href="global.html#PersonRelation">PersonRelation</a></li> <li><a href="global.html#RecommendationEntry">RecommendationEntry</a></li> <li><a href="global.html#RecommendationList">RecommendationList</a></li> <li><a href="global.html#RecommendationRating">RecommendationRating</a></li> <li><a href="global.html#ScoreFormat">ScoreFormat</a></li> <li><a href="global.html#SearchEntry">SearchEntry</a></li> <li><a href="global.html#SingleRecommendation">SingleRecommendation</a></li> <li><a href="global.html#StaffEntry">StaffEntry</a></li> <li><a href="global.html#StaffName">StaffName</a></li> <li><a href="global.html#StudioEntry">StudioEntry</a></li> <li><a href="global.html#TextActivity">TextActivity</a></li> <li><a href="global.html#ThreadComment">ThreadComment</a></li> <li><a href="global.html#ThreadEntry">ThreadEntry</a></li> <li><a href="global.html#UpdateEntryOptions">UpdateEntryOptions</a></li> <li><a href="global.html#UpdatedEntry">UpdatedEntry</a></li> <li><a href="global.html#UserList">UserList</a></li> <li><a href="global.html#UserOptions">UserOptions</a></li> <li><a href="global.html#UserOptionsInput">UserOptionsInput</a></li> <li><a href="global.html#UserProfile">UserProfile</a></li> <li><a href="global.html#UserRelation">UserRelation</a></li> <li><a href="global.html#UserStaffNameLanguage">UserStaffNameLanguage</a></li> <li><a href="global.html#UserStats">UserStats</a></li> <li><a href="global.html#UserTitleLanguage">UserTitleLanguage</a></li> <li><a href="global.html#headerBuilder">headerBuilder</a></li> </ul> </nav> <div id="main"> <h1 class="page-title">docDefinition.js</h1> <section> <article> <pre class="prettyprint source linenums"><code>/** * @typedef { Object } InitOptions * @property { Number } timeout - A number in milliseconds which defines a timeout when making requests */ /** * @typedef { Object } MediaTitle * @enum * @property { String } english - The offical English licensed title * @property { String } native - The Japanese title in Japanese * @property { String } romaji - The Japanese romanized title * @property { String } userPreferred - The title as it would be displayed to the user */ /** * @typedef { Object } PersonName * @enum * @property { String } english - The person's first and last name in English * @property { String } native - The person's name in Japanese * @property { String[] } alternative - Any nicknames or titles the person goes by. */ /** * @typedef { Object } CharacterName * @enum * @property { String } english - The person's first and last name in English * @property { String } native - The person's name in Japanese * @property { String[] } alternative - Any nicknames or titles the person goes by. * @property { String[] } alternativeSpoiler - Any nicknames or titles the person goes by but is marked as spoilers * @property { String } userPreferred - The user's preferred name language. Defaults to romaji for non-authenticated */ /** * @typedef { Object } StaffName * @enum * @property { String } english - The person's first and last name in English * @property { String } native - The person's name in Japanese * @property { String[] } alternative - Any nicknames or titles the person goes by. * @property { String } userPreferred - The user's preferred name language. Defaults to romaji for non-authenticated */ /** * @typedef { Object } SearchEntry * @enum * @property { Object } pageInfo - Information about the search result page * @property { Number } pageInfo.total - The total amount of pages in the search * @property { Number } pageInfo.currentPage - The current page of the search result * @property { Number } pageInfo.lastPage - Last page of the searched term * @property { Boolean } pageInfo.hasNextPage - Check if there is another page * @property { Number } pageInfo.perPage - Result count per page. * @property { Object[] } media - Search results * @property { Number } media.id - The ID of the media * @property { MediaTitle } media.title - The media's title (Used for anime and manga searches only) * @property { PersonName } media.name - The media's name (Used for character and staff searches only) * @property { String } media.name - The media's name (Used for studio and user searches only) */ /** * @typedef { Object } ActivityEntry * @property { Object } pageInfo - Information about the search result page * @property { Number } pageInfo.total - The total amount of pages in the search * @property { Number } pageInfo.currentPage - The current page of the search result * @property { Number } pageInfo.lastPage - Last page of the searched term * @property { Boolean } pageInfo.hasNextPage - Check if there is another page * @property { Number } pageInfo.perPage - Result count per page. * @property { Object[] } activities - Search results * @property { Number } id - The ID of the activity * @property { ActivityType } type - The activity type * @property { Number } createdAt - The creation timestamp of the activity * @property { Number } likeCount - The like count of the activity */ /** * @typedef { Object } StaffEntry * @enum * @property { Number } id - The person's ID on AniList * @property { StaffName } name - The person's name * @property { Object } image - The person's cover image. * @property { string } image.large - The large file * @property { string } image.medium - The medium file * @property { String } description - The person's description * @property { string[] } primaryOccupations - The primary occupations that the person does * @property { string } gender - The person's gender * @property { Object | null } dateOfBirth - The person's date of birth * @property { Number } dateOfBirth.year * @property { Number } dateOfBirth.month * @property { Number } dateOfBirth.day * @property { Object | null } dateOfDeath - The person's date of death * @property { Number } dateOfDeath.year * @property { Number } dateOfDeath.month * @property { Number } dateOfDeath.day * @property { number } age - The person's age * @property { number[] } yearsActive - Read as (start, end). If only one year is availible, person is still active. * @property { string } homeTown - Where the person is from * @property { string } bloodType - The person's blood type * @property { Boolean } isFavourite - [Requires Login] Check if the person is favourited * @property { Boolean } isFavouriteBlocked - True if user is not allowed to favourite the person * @property { Number } favourites - The number of users that have favourited the person * @property { String } language - The staff's language * @property { MediaRelation[] } staffMedia - An array of ids and titles of all media that the staff has been apart of. (Up to the first 25 entries) * @property { PersonRelation[] } characters - An array of ids and the english names of all characters that the staff has voiced. (Up to the first 25 entries) * @property { MediaRelation[] } characterMedia - An array of ids and titles of all media that the person voiced characters in. (Up to the first 25 entries) */ /** * @typedef { Object } CharacterEntry * @enum * @property { Number } id - The person's ID on AniList * @property { CharacterName } name - The person's name * @property { Object } image - The person's cover image. * @property { string } image.large - The large file * @property { string } image.medium - The medium file * @property { string } gender - The character's gender. Could be male, female, non-binary, etc... * @property { Object | null } dateOfBirth - The character's date of birth * @property { Number } dateOfBirth.year * @property { Number } dateOfBirth.month * @property { Number } dateOfBirth.day * @property { string } age - The character's age. Listed as a string as it may contain additional text or ranges. * @property { string } bloodType - The character's blood type * @property { String } description - The person's description * @property { Boolean } isFavourite - [Requires Login] Check if the person is favourited * @property { Boolean } isFavouriteBlocked - True if the user is unable to favourite the entry * @property { Number } favourites - The number of users that have favourited the person * @property { MediaRelation[] } media - All media that the character is in. (Up to the first 25 entries) */ /** * @typedef { Object } MediaRelation * @enum * @property { Number } id - The media's AniList ID * @property { MediaTitle } title - The media's titles * @property { String } type - Tells what type of media it is. Returns either ANIME or MANGA */ /** * @typedef { Object } PersonRelation * @enum * @property { Number } id - The person's AniList ID * @property { String } name - The person's name in English */ /** * @typedef { Object } StudioEntry * @enum * @property { Number } id - The studio's ID * @property { String } name - The studio's name * @property { Boolean } isAnimationStudio - Check if the studio is an animation studio * @property { Number } favourites - Number of users who have favourited it. * @property { Object[] } media - A list of all the media the studio has done (Up to the first 25 per AniList's limit). * @property { Number } media.id - The media's ID * @property { MediaTitle } media.title - The media's titles * @property { String } siteUrl - The studio's site URL * @property { Boolean } isFavourite - [Requires Login] Check if the studio is favourited by the user. */ /** * @typedef { Object } AiringEntry * @enum * @property { Number } airingAt - The timestamp that the episode is airing at * @property { Number } timeUntilAiring - The amount of seconds until the episode airs * @property { Number } episode - The episode number to air. */ /** * @typedef { Object } AnimeEntry * @enum * @property { AiringEntry[] } airingSchedule - The media's airing schedule, ordered by episode number (ie: 1, 2, 3, etc...). * @property { Boolean } autoCreateForumThread - Checks if the media gets a thread automatically with each release * @property { Number } averageScore - A weighted average score of the media. * @property { String } bannerImage - The media's banner image * @property { PersonRelation[] } characters - An array of characters * @property { String } countryOfOrigin - The country origin of the media * @property { Object[] } coverImage - The media's cover image * @property { String } coverImage.large - The large sized cover image * @property { String } coverImage.medium - The medium sized cover image * @property { String } coverImage.small - The small sized cover image * @property { String } coverImage.color - Average hex colour of the cover image * @property { String } description - The medias description * @property { Number } duration - General length of an episode * @property { FuzzyDateObj } endDate - Official end date of the media * @property { Number } episodes - Number of episodes * @property { String[] } externalLinks - A list of external links associated with the media * @property { Number } favourites - Number of users who have favourited it. * @property { String } format - The format of the anime. (ie: TV, OVA, etc...) * @property { String[] } genres - The media's genres * @property { String } hashtag - Twitter hashtag associated with the anime * @property { Number } id - The anime's AniList ID * @property { Number } idMal - The anime's MyAnimeList ID * @property { Boolean } isAdult - Check if the media is for adult audiences (ie: Hentai) * @property { Boolean } isFavourite - [Requires Login] Check if the media is favourited * @property { Boolean } isLicensed - Check if the media is licensed * @property { Boolean } isLocked - Check if the media is locked for list additions or favouriting. * @property { Boolean } isRecommendationBlocked - Check if the media is locked for recommendations. * @property { Number } meanScore - Mean score of the media * @property { Object } mediaListEntry - [Requires Login] User's media list entry; required for list edits. * @property { Number } mediaListEntry.id - Id of the media on a user's media list * @property { String } mediaListEntry.status - Status of the media on the user's media list. * @property { String } modNotes - Mod notes for the media * @property { AiringEntry[] | null } nextAiringEpisode - The media's next episode airing schedule. Returns either an AiringEntry object or null depending if there is an episode to air. * @property { Number } popularity - Number of users with the media on their list * @property { Object[] } rankings - Media rankings in a particular category compared to others. * @property { Number } rankings.rank - The rank position * @property { String } rankings.type - What type of ranking it is. (ie: RATED or POPULAR) * @property { String } rankings.context - The category of the ranking. * @property { Number } rankings.year - The year for the ranking * @property { String } rankings.season - The season of the ranking. (ie: WINTER, SPRING, SUMMER, FALL) * @property { MediaRelation[] } recommendations - Recommendations for the media. * @property { MediaRelation[] } relations - All media that relate to the media. * @property { Object[] } reviews - An array of reviews. * @property { Number } reviews.id - The id of the review * @property { Number } reviews.score - The review's media score * @property { String } reviews.summary - The summary of the review. * @property { String } reviews.body - The review content. * @property { String } season - Season that the anime started airing * @property { Number } seasonYear - The season year that the anime started airing * @property { String } siteUrl - The media's AniList page * @property { String } source - Source type that the media was adapted from * @property { PersonRelation[] } staff - An array of credited staff * @property { FuzzyDateObj } startDate - Official release date of the media * @property { Object } stats - Statistics on the media * @property { Object[] } stats.scoreDistribution - An array of how the users have rated the media. Each object contains a score and amount. * @property { Object[] } stats.statusDistribution - An array of the users status with the show. Each object contains a status and amount. * @property { String } status - The current status of the media * @property { Object[] } streamingEpisodes - An ordered array of episodes and where it can be streamed. * @property { String } streamingEpisodes.title - The title of the episode * @property { String } streamingEpisodes.thumbnail - The thumbnail image for the episode * @property { String } streamingEpisodes.url - The URL of the episode * @property { String } streamingEpisodes.site - The name of the site where the episode is provided. * @property { Object[] } studios - An array of studios that produced the anime. * @property { Number } studios.id - The studio's id * @property { String } studios.name - The studio's name * @property { Boolean } studios.isAnimationStudio - Check if the studio is the animation studio for the anime. * @property { String[] } synonyms - The media's alternative titles * @property { Object[] } tags - Tags that describes the media * @property {Number} tags.id - The ID of the tag * @property { String } tags.name - The name of the tag * @property { Boolean } tags.isMediaSpoiler - Checks if the tag is a spoiler for the media. * @property { MediaTitle } title - The manga's titles * @property { String | Object | null } trailer - Returns the trailer URL if the trailer is a Youtube or Dailymotion video. Will return an object if it is a video outside of YouTube and Dailymotion or null if no trailer is found. * @property { Number } trending - Number of related activity in the past week. * @property { Object[] } trends - An array of the media's daily trend status * @property { Number } trends.date - The timestamp of the day the data was recorded * @property { Number } trends.trending - Amount of media acitivity for that day * @property { Number | null } trends.popularity - Number of users with the media on their list * @property { Number | null } trends.inProgress - Number of users watching the media. * @property { Number } updatedAt - Timestamp of when the page was last updated */ /** * @typedef { Object } MangaEntry * @enum * @property { Boolean } autoCreateForumThread - Checks if the media gets a thread automatically with each release * @property { Number } averageScore - A weighted average score of the media. * @property { String } bannerImage - The media's banner image * @property { Number } chapters - Number of chapters * @property { PersonRelation[] } characters - An array of characters * @property { String } countryOfOrigin - The country origin of the media * @property { Object[] } coverImage - The media's cover image * @property { String } coverImage.large - The large sized cover image * @property { String } coverImage.medium - The medium sized cover image * @property { String } coverImage.small - The small sized cover image * @property { String } coverImage.color - Average hex colour of the cover image * @property { String } description - The manga's description * @property { FuzzyDateObj } endDate - Official end date of the media * @property { String[] } externalLinks - A list of external links associated with the media * @property { Number } favourites - Number of users who have favourited it. * @property { String } format - The format of the manga. (ie: Manga, Novel, etc...) * @property { String[] } genres - The media's genres * @property { Number } id - The manga's AniList ID * @property { Number } idMal - The manga's MyAnimeList ID * @property { Boolean } isAdult - Check if the media is for adult audiences (ie: Hentai) * @property { Boolean } isFavourite - [Requires Login] Check if the media is favourited * @property { Boolean } isLicensed - Check if the media is licensed * @property { Boolean } isLocked - Check if the media is locked for list additions or favouriting. * @property { Boolean } isRecommendationBlocked - Check if the media is locked for recommendations. * @property { Number } meanScore - Mean score of the media * @property { Object } mediaListEntry - [Requires Login] User's media list entry; required for list edits. * @property { Number } mediaListEntry.id - Id of the media on a user's media list * @property { String } mediaListEntry.status - Status of the media on the user's media list. * @property { String } modNotes - Mod notes for the media * @property { Number } popularity - Number of users with the media on their list * @property { Object[] } rankings - Media rankings in a particular category compared to others. * @property { Number } rankings.rank - The rank position * @property { String } rankings.type - What type of ranking it is. (ie: RATED or POPULAR) * @property { String } rankings.context - The category of the ranking. * @property { Number } rankings.year - The year for the ranking * @property { String } rankings.season - The season of the ranking. (ie: WINTER, SPRING, SUMMER, FALL) * @property { MediaRelation[] } recommendations - Recommendations for the media. * @property { MediaRelation[] } relations - All media that relate to the media. * @property { Object[] } reviews - An array of reviews. * @property { Number } reviews.id - The id of the review * @property { Number } reviews.score - The review's media score * @property { String } reviews.summary - The summary of the review. * @property { String } reviews.body - The review content. * @property { String } siteUrl - The media's AniList page * @property { PersonRelation[] } staff - An array of credited staff * @property { FuzzyDateObj } startDate - Official release date of the media * @property { Object } stats - Statistics on the media * @property { Object[] } stats.scoreDistribution - An array of how the users have rated the media. Each object contains a score and amount. * @property { Object[] } stats.statusDistribution - An array of the users status with the show. Each object contains a status and amount. * @property { String } status - The current status of the media * @property { String[] } synonyms - The media's alternative titles * @property { Object[] } tags - Tags that describes the media * @property {Number} tags.id - The ID of the tag * @property { String } tags.name - The name of the tag * @property { Boolean } tags.isMediaSpoiler - Checks if the tag is a spoiler for the media. * @property { MediaTitle } title - The manga's titles * @property { Number } trending - Number of related activity in the past week. * @property { Object[] } trends - An array of the media's daily trend status. * @property { Number } trends.date - The timestamp of the day the data was recorded * @property { Number } trends.trending - Amount of media acitivity for that day * @property { Number | null } trends.popularity - Number of users with the media on their list * @property { Number | null } trends.inProgress - Number of users reading the media. * @property { Number } updatedAt - Timestamp of when the page was last updated * @property { Number } volumes - Number of volumes */ /** * @typedef { Object } UserRelation * @enum * @property { Number } id - The user's ID * @property { String } name - The user's name */ /** * @typedef { Object } UserProfile * @enum * @property { Number } id - The user's ID * @property { String } name - The user's username * @property { String } about - The user's about section * @property { Object } avatar - The user's avatar * @property { String } avatar.large - A large version of the avatar * @property { String } avatar.medium - A medium version of the avatar * @property { String } bannerImage - The user's banner image * @property { Boolean } isFollowing - [Requires Login] Check if the authorized user is following this user * @property { Boolean } isBlocked - [Requires Login] Check if the authorized user has blocked this user * @property { Boolean } isFollower - [Requires Login] Check if the user is following the authorized user * @property { String } bans - Record of the user's bans * @property { Object } options - The user's options * @property { String } options.titleLanguage - The language that the user prefers to see (ie: English, Japanese) * @property { Boolean } options.displayAdultContent - Check if the user allows adult content to be displayed * @property { Boolean } options.airingNotifications - Check if the user receives notification about airing episodes * @property { String } options.profileColor - The highlight colour that the user uses. * @property { Number } options.activityMergeTime - Minutes between activity for them to be merged together. 0 is Never, Above 2 weeks (20160 mins) is Always. * @property { StaffNameLanguage } options.staffNameLanguage - The language the user wants to see staff and character names in * @property { NotificationOptions[] } options.notificationOptions - The user's notification options * @property { Object } mediaListOptions - A user's media list settings * @property { String } mediaListOptions.scoreFormat - The scoring format the user uses. * @property { String } mediaListOptions.rowOrder - The default order list rows should be displayed in. * @property { MediaListOptions } mediaListOptions.animeList - Settings pertaining to the user's anime list. * @property { MediaListOptions } mediaListOptions.mangaList - Settings pertaining to the user's manga list. * @property { Object } favourites - An object containing all of the user's favourited entries * @property { MediaRelation[] } favourites.anime - An array of the user's favourite anime * @property { MediaRelation[] } favourites.manga - An array of the user's favourite manga * @property { PersonRelation[] } favourites.characters - An array of the user's favourite characters * @property { PersonRelation[] } favourites.staff - An array of the user's favourite staff * @property { Object[] } favourites.studios - An array of the user's favourite studios * @property { Number } favourites.studios.id - The id of the studio * @property { String } favourites.studios.name - The name of the studio * @property { Number } unreadNotificationCount - Number of notifications that aren't read yet * @property { String } siteUrl - The user's profile link * @property { Number } donatorTier - The donator tier of the user * @property { String } donatorBadge - Custom donation badge text * @property { ModRole[] } moderatorRoles - Check if the user is a moderator. * @property { Number } updatedAt - Timestamp of the last update for the profile. */ /** * @typedef { Object } UserStats * @enum * @property { Object } anime - The user's statistics with anime * @property { Number } anime.meanScore - The mean score of all entries * @property { Number } anime.standardDeviation - The standard deviation of all scores with all entries * @property { Number } anime.count - Total amount of entries * @property { Number } anime.minutesWatched - Total amount of minutes the user has seen * @property { Number } anime.episodesWatched - Total amount of episodes the user watched. * @property { Object[] } anime.statuses - Undocumented * @property { Number } anime.statuses.count - Number of entries * @property { Number } anime.statuses.meanScore - The mean score of all entries * @property { Number } anime.statuses.watchedTime - The total watched time * @property { String } anime.statuses.status - The status of the entries * @property { Object[] } anime.formats - Undocumented * @property { Number } anime.formats.count - Number of entries * @property { Number } anime.formats.meanScore - The mean score of all entries * @property { Number } anime.formats.watchedTime - The total watched time * @property { String } anime.formats.format - The format of the entries * @property { Object[] } anime.lengths - Undocumented * @property { Number } anime.lengths.count - Number of entries * @property { Number } anime.lengths.meanScore - The mean score of all entries * @property { Number } anime.lengths.watchedTime - The total watched time * @property { String } anime.lengths.length - The length of the entries. * @property { Object[] } anime.releaseYears - Undocumented * @property { Number } anime.releaseYears.count - Number of entries * @property { Number } anime.releaseYears.meanScore - The mean score of all entries * @property { Number } anime.releaseYears.watchedTime - The total watched time * @property { String } anime.releaseYears.releaseYear - The release year of the entries. * @property { Object[] } anime.startYears - Undocumented * @property { Number } anime.startYears.count - Number of entries * @property { Number } anime.startYears.meanScore - The mean score of all entries * @property { Number } anime.startYears.watchedTime - The total watched time * @property { String } anime.startYears.startYear - The start year of the entries. * @property { Object[] } anime.genres - Undocumented * @property { Number } anime.genres.count - Number of entries * @property { Number } anime.genres.meanScore - The mean score of all entries * @property { Number } anime.genres.watchedTime - The total watched time * @property { String } anime.genres.genre - The genre of the entries. * @property { Object[] } anime.tags - Undocumented * @property { Number } anime.tags.count - Number of entries * @property { Number } anime.tags.meanScore - The mean score of all entries * @property { Number } anime.tags.watchedTime - The total watched time * @property { Object } anime.tags.tag - The tag of the entries. * @property { Number } anime.tags.tag.id - The id of the tag * @property { String } anime.tags.tag.name - The name of the tag. * @property { Object[] } anime.countries - Undocumented * @property { Number } anime.countries.count - Number of entries * @property { Number } anime.countries.meanScore - The mean score of all entries * @property { Number } anime.countries.watchedTime - The total watched time * @property { String } anime.countries.country - The country of origin of the entries. * @property { Object[] } anime.voiceActors - Undocumented * @property { Number } anime.voiceActors.count - Number of entries * @property { Number } anime.voiceActors.meanScore - The mean score of all entries * @property { Number } anime.voiceActors.watchedTime - The total watched time * @property { PersonRelation } anime.voiceActors.voiceActor - The VA of the entries. * @property { Object[] } anime.staff - Undocumented * @property { Number } anime.staff.count - Number of entries * @property { Number } anime.staff.meanScore - The mean score of all entries * @property { Number } anime.staff.watchedTime - The total watched time * @property { PersonRelation } anime.staff.staff - The staff of the entries. * @property { Object[] } anime.studios - Undocumented * @property { Number } anime.studios.count - Number of entries * @property { Number } anime.studios.meanScore - The mean score of all entries * @property { Number } anime.studios.watchedTime - The total watched time * @property { Object } anime.studios.studio - The studio of the entries. * @property { Number } anime.studios.studio.id - The ID of the studio * @property { String } anime.studios.studio.name - The name of the studio. * @property { Object } manga - The user's statistics with manga * @property { Number } manga.meanScore - The mean score of all entries * @property { Number } manga.standardDeviation - The standard deviation of all scores with all entries * @property { Number } manga.count - Total amount of entries * @property { Number } manga.chaptersRead - Total amount of chapters read * @property { Number } manga.volumesRead - Total amount of volumes read. * @property { Object[] } manga.statuses - Undocumented * @property { Number } manga.statuses.count - Number of entries * @property { Number } manga.statuses.meanScore - The mean score of all entries * @property { Number } manga.statuses.chaptersRead - The total chapters read * @property { String } manga.statuses.status - The status of the entries * @property { Object[] } manga.formats - Undocumented * @property { Number } manga.formats.count - Number of entries * @property { Number } manga.formats.meanScore - The mean score of all entries * @property { Number } manga.formats.chaptersRead - The total chapters read * @property { String } manga.formats.format - The format of the entries * @property { Object[] } manga.lengths - Undocumented * @property { Number } manga.lengths.count - Number of entries * @property { Number } manga.lengths.meanScore - The mean score of all entries * @property { Number } manga.lengths.chaptersRead - The total chapters read * @property { String } manga.lengths.length - The length of the entries. * @property { Object[] } manga.releaseYears - Undocumented * @property { Number } manga.releaseYears.count - Number of entries * @property { Number } manga.releaseYears.meanScore - The mean score of all entries * @property { Number } manga.releaseYears.chaptersRead - The total chapters read * @property { String } manga.releaseYears.releaseYear - The release year of the entries. * @property { Object[] } manga.startYears - Undocumented * @property { Number } manga.startYears.count - Number of entries * @property { Number } manga.startYears.meanScore - The mean score of all entries * @property { Number } manga.startYears.chaptersRead - The total chapters read * @property { String } manga.startYears.startYear - The start year of the entries. * @property { Object[] } manga.genres - Undocumented * @property { Number } manga.genres.count - Number of entries * @property { Number } manga.genres.meanScore - The mean score of all entries * @property { Number } manga.genres.chaptersRead - The total chapters read * @property { String } manga.genres.genre - The genre of the entries. * @property { Object[] } manga.tags - Undocumented * @property { Number } manga.tags.count - Number of entries * @property { Number } manga.tags.meanScore - The mean score of all entries * @property { Number } manga.tags.chaptersRead - The total chapters read * @property { Object } manga.tags.tag - The tag of the entries. * @property { Number } manga.tags.tag.id - The id of the tag * @property { String } manga.tags.tag.name - The name of the tag. * @property { Object[] } manga.countries - Undocumented * @property { Number } manga.countries.count - Number of entries * @property { Number } manga.countries.meanScore - The mean score of all entries * @property { Number } manga.countries.chaptersRead - The total chapters read * @property { String } manga.countries.country - The country of origin of the entries. * @property { Object[] } manga.staff - Undocumented * @property { Number } manga.staff.count - Number of entries * @property { Number } manga.staff.meanScore - The mean score of all entries * @property { Number } manga.staff.chaptersRead - The total chapters read * @property { PersonRelation } manga.staff.staff - The staff of the entries. */ /** * @typedef { Object } UserList * @enum * @property { String } name - The user's list name * @property { Boolean } isCustomList - Checks if the list is a custom one (not created by default) * @property { Boolean } isSplitCompletedList - Checks if the list is a split completed list. (ie: If the user chose to have each media format in a separate list) * @property { EntryStatus } status - The user's list status. Returns either "CURRENT", "PLANNING", "COMPLETED", "PAUSED", "DROPPED", "REPEATING" * @property { ListEntry[] } entries - A list of entries on this list */ /** * @typedef { Object } ListEntry * @enum * @property { Object } media - An object containing various media information * @property { Number } media.id - The id of the media * @property { Number } media.idMAL - The MAL id of the media * @property { MediaTitle } media.title - The media's titles * @property { String } media.description - The media's description * @property { String } media.format - The media's format (ie: TV, OVA, Novel) * @property { Object[] } media.tags - Tags relating to the media * @property { String } media.tags.name - The name of the tag * @property { Boolean } media.tags.isMediaSpoiler - Checks if the tag is a spoiler or not. * @property { FuzzyDateObj } media.startDate - Starting date * @property { FuzzyDateObj } media.endDate - The official end date * @property { String[] } media.genres - The genres of the media * @property { Boolean } media.isFavourite - [Requires Login] Checks if the media is on the user's favourites list * @property { Boolean } media.isAdult - Checks if the media is for adult audiences (ie: Hentai) * @property { String[] } media.synonyms - The media's alternative titles * @property { String } media.siteUrl - The media's AniList page * @property { Number } media.duration - General length of an episode (Anime only) * @property { Number } media.episodes - Number of episodes (Anime only) * @property { Number } media.volumes - Number of volumes (Manga only) * @property { Number } media.chapters - Number of chapters (Manga only) * @property { Number } id - The AniList list ID for the entry * @property { String } status - The user's status ("CURRENT", "PLANNING", "COMPLETED", "PAUSED", "DROPPED", "REPEATING") for that media * @property { Number } score - The user's score for the entry * @property { Number } progress - The user's progress for that entry. (Episode count for anime, chapter count for manga) * @property { Number } progressVolumes - The user's volume progress for that media (Manga only) * @property { Number } repeat - The amount of times the user rewatched or read the media * @property { Number } priority - The user's priority status for that media * @property { Boolean } private - [Requires Login] Check if the entry should only be visible to the authenticated user. * @property { String } notes - The user's notes * @property { Boolean } hiddenFromStatusLists - Checks if the entry should be hidden from non-custom lists * @property { Object } advancedScores - The user's advanced scores for that media (Story, Characters, Visuals, Audio, Enjoyment, …) * @property { Object } dates - Dates related to that entry in ISO 8601 format * @property { String } dates.startedAt - The date the user started the entry * @property { String } dates.completedAt - The date the user finished the entry * @property { String } dates.updatedAt - The time the entry was last updated * @property { String } dates.createdAt - When the entry data was created. */ /** * @typedef { Object } ListActivity * @enum * @property { Number } id - The id of the activity * @property { UserRelation } user - The user of the activity * @property { String } status - The status of the update * @property { String } type - The activity type * @property { Number | null } progress - Progress of the media * @property { MediaRelation } media - The target media * @property { Number } createdAt - The timestamp of the creation time * @property { Object[] } replies - The replies for the activity * @property { Number } replies.id - The id of the reply * @property { String } replies.text - The content of the reply * @property { Number } replies.likeCount - The amount of likes on the reply * @property { Boolean } isLocked - True if the activity cannot receive replies * @property { Boolean } isSubscribed - [Requires Login] True if the authorized user is subscribed. * @property { Boolean } isLiked - [Requires Login] True if authorized user liked it * @property { UserRelation[] } likes - All users who liked the activity */ /** * @typedef { Object } TextActivity * @enum * @property { Number } id - The id of the activity * @property { UserRelation } user - The user of the activity * @property { String } text - The content of the activity * @property { String } type - The activity type * @property { Number } createdAt - The timestamp of the creation time * @property { Object } replies - The replies for the activity * @property { Number } replies.id - The id of the reply * @property { String } replies.text - The content of the reply * @property { Number } replies.likeCount - The amount of likes on the reply * @property { Boolean } isLocked - True if the activity cannot receive replies * @property { Boolean } isSubscribed - [Requires Login] True if the authorized user is subscribed. * @property { Boolean } isLiked - [Requires Login] True if authorized user liked it * @property { UserRelation[] } likes - All users who liked the activity */ /** * @typedef { Object } MessageActivity * @enum * @property { Number } id - The id of the activity * @property { UserRelation } user - The sender of the activity * @property { UserRelation } recipient - The user receiving the message * @property { String } message - The content of the activity * @property { String } type - The activity type * @property { Number } createdAt - The timestamp of the creation time * @property { Boolean } isPrivate - True if message is private and only viewable to sender and recipients * @property { Object } replies - The replies for the activity * @property { Number } replies.id - The id of the reply * @property { String } replies.text - The content of the reply * @property { Number } replies.likeCount - The amount of likes on the reply * @property { Boolean } isLocked - True if the activity cannot receive replies * @property { Boolean } isSubscribed - [Requires Login] True if the authorized user is subscribed. * @property { Boolean } isLiked - [Requires Login] True if authorized user liked it * @property { UserRelation[] } likes - All users who liked the activity */ /** * @typedef {Number} FuzzyDateInt * @example * 6 Jan 2021 = 20210106 * April 2016 = 20160400 * 1969 = 19690000 * @description 8 digit integer (YYYYMMDD). Unknown dates are represented by 0. */ /** * @typedef {Object} FuzzyDateObj * @description An object that contains the year, month, and date of an item. * @property { Number | null } year * @property { Number | null } month * @property { Number | null } day */ /** * @typedef {Number} CountryCode * @description ISO 3166-1 alpha-2 country code */ /** * @typedef MediaFilterTypes * @description An enum for filter types for values * @enum * @readonly * @property {Number} id The AniList ID * @property {Number} idMal The MAL ID * @property {FuzzyDateInt} startDate The start date * @property {FuzzyDateInt} endDate The end date * @property {MediaSeason} season The season the