@tdanks2000/anilist-wrapper
Version:
A comprehensive and easy-to-use TypeScript wrapper for the Anilist GraphQL API (v2). Simplifies fetching anime/manga data and managing user lists in Node.js applications.
1,869 lines (1,866 loc) • 120 kB
TypeScript
// Generated by dts-bundle-generator v9.5.1
import { GraphQLClient, RequestOptions } from 'graphql-request';
export type Maybe<T> = T | null;
export type InputMaybe<T> = Maybe<T>;
export type Exact<T extends {
[key: string]: unknown;
}> = {
[K in keyof T]: T[K];
};
export type GraphQLClientRequestHeaders = RequestOptions["requestHeaders"];
/** All built-in and custom scalars, mapped to their actual values */
export type Scalars = {
ID: {
input: string;
output: string;
};
String: {
input: string;
output: string;
};
Boolean: {
input: boolean;
output: boolean;
};
Int: {
input: number;
output: number;
};
Float: {
input: number;
output: number;
};
CountryCode: {
input: any;
output: any;
};
FuzzyDateInt: {
input: any;
output: any;
};
Json: {
input: any;
output: any;
};
};
declare enum CharacterRole {
/** A background character in the media */
Background = "BACKGROUND",
/** A primary character role in the media */
Main = "MAIN",
/** A supporting character role in the media */
Supporting = "SUPPORTING"
}
declare enum ExternalLinkType {
Info = "INFO",
Social = "SOCIAL",
Streaming = "STREAMING"
}
declare enum MediaFormat {
/** Professionally published manga with more than one chapter */
Manga = "MANGA",
/** Anime movies with a theatrical release */
Movie = "MOVIE",
/** Short anime released as a music video */
Music = "MUSIC",
/** Written books released as a series of light novels */
Novel = "NOVEL",
/** (Original Net Animation) Anime that have been originally released online or are only available through streaming services. */
Ona = "ONA",
/** Manga with just one chapter */
OneShot = "ONE_SHOT",
/** (Original Video Animation) Anime that have been released directly on DVD/Blu-ray without originally going through a theatrical release or television broadcast */
Ova = "OVA",
/** Special episodes that have been included in DVD/Blu-ray releases, picture dramas, pilots, etc */
Special = "SPECIAL",
/** Anime broadcast on television */
Tv = "TV",
/** Anime which are under 15 minutes in length and broadcast on television */
TvShort = "TV_SHORT"
}
declare enum MediaListStatus {
/** Finished watching/reading */
Completed = "COMPLETED",
/** Currently watching/reading */
Current = "CURRENT",
/** Stopped watching/reading before completing */
Dropped = "DROPPED",
/** Paused watching/reading */
Paused = "PAUSED",
/** Planning to watch/read */
Planning = "PLANNING",
/** Re-watching/reading */
Repeating = "REPEATING"
}
declare enum MediaRelation {
/** An adaption of this media into a different format */
Adaptation = "ADAPTATION",
/** An alternative version of the same media */
Alternative = "ALTERNATIVE",
/** Shares at least 1 character */
Character = "CHARACTER",
/** Version 2 only. */
Compilation = "COMPILATION",
/** Version 2 only. */
Contains = "CONTAINS",
/** Other */
Other = "OTHER",
/** The media a side story is from */
Parent = "PARENT",
/** Released before the relation */
Prequel = "PREQUEL",
/** Released after the relation */
Sequel = "SEQUEL",
/** A side story of the parent media */
SideStory = "SIDE_STORY",
/** Version 2 only. The source material the media was adapted from */
Source = "SOURCE",
/** An alternative version of the media with a different primary focus */
SpinOff = "SPIN_OFF",
/** A shortened and summarized version */
Summary = "SUMMARY"
}
declare enum MediaSeason {
/** Months September to November */
Fall = "FALL",
/** Months March to May */
Spring = "SPRING",
/** Months June to August */
Summer = "SUMMER",
/** Months December to February */
Winter = "WINTER"
}
declare enum MediaSource$1 {
/** Version 2+ only. Japanese Anime */
Anime = "ANIME",
/** Version 3 only. Comics excluding manga */
Comic = "COMIC",
/** Version 2+ only. Self-published works */
Doujinshi = "DOUJINSHI",
/** Version 3 only. Games excluding video games */
Game = "GAME",
/** Written work published in volumes */
LightNovel = "LIGHT_NOVEL",
/** Version 3 only. Live action media such as movies or TV show */
LiveAction = "LIVE_ACTION",
/** Asian comic book */
Manga = "MANGA",
/** Version 3 only. Multimedia project */
MultimediaProject = "MULTIMEDIA_PROJECT",
/** Version 2+ only. Written works not published in volumes */
Novel = "NOVEL",
/** An original production not based of another work */
Original = "ORIGINAL",
/** Other */
Other = "OTHER",
/** Version 3 only. Picture book */
PictureBook = "PICTURE_BOOK",
/** Video game */
VideoGame = "VIDEO_GAME",
/** Video game driven primary by text and narrative */
VisualNovel = "VISUAL_NOVEL",
/** Version 3 only. Written works published online */
WebNovel = "WEB_NOVEL"
}
declare enum MediaStatus {
/** Ended before the work could be finished */
Cancelled = "CANCELLED",
/** Has completed and is no longer being released */
Finished = "FINISHED",
/** Version 2 only. Is currently paused from releasing and will resume at a later date */
Hiatus = "HIATUS",
/** To be released at a later date */
NotYetReleased = "NOT_YET_RELEASED",
/** Currently releasing */
Releasing = "RELEASING"
}
declare enum MediaType {
/** Japanese Anime */
Anime = "ANIME",
/** Asian comic */
Manga = "MANGA"
}
declare enum ModRole {
/** An AniList administrator */
Admin = "ADMIN",
/** An anime data moderator */
AnimeData = "ANIME_DATA",
/** A character data moderator */
CharacterData = "CHARACTER_DATA",
/** A community moderator */
Community = "COMMUNITY",
/** An AniList developer */
Developer = "DEVELOPER",
/** A discord community moderator */
DiscordCommunity = "DISCORD_COMMUNITY",
/** A lead anime data moderator */
LeadAnimeData = "LEAD_ANIME_DATA",
/** A lead community moderator */
LeadCommunity = "LEAD_COMMUNITY",
/** A head developer of AniList */
LeadDeveloper = "LEAD_DEVELOPER",
/** A lead manga data moderator */
LeadMangaData = "LEAD_MANGA_DATA",
/** A lead social media moderator */
LeadSocialMedia = "LEAD_SOCIAL_MEDIA",
/** A manga data moderator */
MangaData = "MANGA_DATA",
/** A retired moderator */
Retired = "RETIRED",
/** A social media moderator */
SocialMedia = "SOCIAL_MEDIA",
/** A staff data moderator */
StaffData = "STAFF_DATA"
}
declare enum NotificationType {
/** A user has liked your activity */
ActivityLike = "ACTIVITY_LIKE",
/** A user has mentioned you in their activity */
ActivityMention = "ACTIVITY_MENTION",
/** A user has sent you message */
ActivityMessage = "ACTIVITY_MESSAGE",
/** A user has replied to your activity */
ActivityReply = "ACTIVITY_REPLY",
/** A user has liked your activity reply */
ActivityReplyLike = "ACTIVITY_REPLY_LIKE",
/** A user has replied to activity you have also replied to */
ActivityReplySubscribed = "ACTIVITY_REPLY_SUBSCRIBED",
/** An anime you are currently watching has aired */
Airing = "AIRING",
/** A user has followed you */
Following = "FOLLOWING",
/** An anime or manga has had a data change that affects how a user may track it in their lists */
MediaDataChange = "MEDIA_DATA_CHANGE",
/** An anime or manga on the user's list has been deleted from the site */
MediaDeletion = "MEDIA_DELETION",
/** Anime or manga entries on the user's list have been merged into a single entry */
MediaMerge = "MEDIA_MERGE",
/** A new anime or manga has been added to the site where its related media is on the user's list */
RelatedMediaAddition = "RELATED_MEDIA_ADDITION",
/** A user has liked your forum comment */
ThreadCommentLike = "THREAD_COMMENT_LIKE",
/** A user has mentioned you in a forum comment */
ThreadCommentMention = "THREAD_COMMENT_MENTION",
/** A user has replied to your forum comment */
ThreadCommentReply = "THREAD_COMMENT_REPLY",
/** A user has liked your forum thread */
ThreadLike = "THREAD_LIKE",
/** A user has commented in one of your subscribed forum threads */
ThreadSubscribed = "THREAD_SUBSCRIBED"
}
declare enum ScoreFormat {
/** An integer from 0-3. Should be represented in Smileys. 0 => No Score, 1 => :(, 2 => :|, 3 => :) */
Point_3 = "POINT_3",
/** An integer from 0-5. Should be represented in Stars */
Point_5 = "POINT_5",
/** An integer from 0-10 */
Point_10 = "POINT_10",
/** A float from 0-10 with 1 decimal place */
Point_10Decimal = "POINT_10_DECIMAL",
/** An integer from 0-100 */
Point_100 = "POINT_100"
}
declare enum UserStaffNameLanguage {
/** The staff or character's name in their native language */
Native = "NATIVE",
/** The romanization of the staff or character's native name */
Romaji = "ROMAJI",
/** The romanization of the staff or character's native name, with western name ordering */
RomajiWestern = "ROMAJI_WESTERN"
}
declare enum UserTitleLanguage {
/** The official english title */
English = "ENGLISH",
/** The official english title, stylised by media creator */
EnglishStylised = "ENGLISH_STYLISED",
/** Official title in it's native language */
Native = "NATIVE",
/** Official title in it's native language, stylised by media creator */
NativeStylised = "NATIVE_STYLISED",
/** The romanization of the native language title */
Romaji = "ROMAJI",
/** The romanization of the native language title, stylised by media creator */
RomajiStylised = "ROMAJI_STYLISED"
}
export type GetAnimeByIdQueryVariables = Exact<{
id: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetAnimeByIdQuery = {
Media: {
id: number;
idMal: number | null;
bannerImage: string | null;
description: string | null;
format: MediaFormat | null;
status: MediaStatus | null;
type: MediaType | null;
episodes: number | null;
chapters: number | null;
volumes: number | null;
duration: number | null;
genres: Array<string | null> | null;
averageScore: number | null;
meanScore: number | null;
popularity: number | null;
favourites: number | null;
trending: number | null;
source: MediaSource$1 | null;
countryOfOrigin: any | null;
isAdult: boolean | null;
isLicensed: boolean | null;
isLocked: boolean | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
hashtag: string | null;
synonyms: Array<string | null> | null;
season: MediaSeason | null;
seasonYear: number | null;
siteUrl: string | null;
updatedAt: number | null;
autoCreateForumThread: boolean | null;
isRecommendationBlocked: boolean | null;
isReviewBlocked: boolean | null;
modNotes: string | null;
characters: {
edges: Array<{
role: CharacterRole | null;
node: {
id: number;
description: string | null;
gender: string | null;
age: string | null;
bloodType: string | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
favourites: number | null;
siteUrl: string | null;
name: {
alternative: Array<string | null> | null;
alternativeSpoiler: Array<string | null> | null;
first: string | null;
full: string | null;
last: string | null;
middle: string | null;
native: string | null;
userPreferred: string | null;
} | null;
image: {
large: string | null;
medium: string | null;
} | null;
dateOfBirth: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null;
} | null> | null;
} | null;
staff: {
edges: Array<{
role: string | null;
node: {
id: number;
description: string | null;
primaryOccupations: Array<string | null> | null;
gender: string | null;
bloodType: string | null;
homeTown: string | null;
languageV2: string | null;
yearsActive: Array<number | null> | null;
favourites: number | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
age: number | null;
siteUrl: string | null;
name: {
full: string | null;
native: string | null;
first: string | null;
middle: string | null;
last: string | null;
userPreferred: string | null;
} | null;
image: {
large: string | null;
medium: string | null;
} | null;
dateOfBirth: {
year: number | null;
month: number | null;
day: number | null;
} | null;
dateOfDeath: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null;
} | null> | null;
} | null;
studios: {
edges: Array<{
node: {
id: number;
name: string;
isAnimationStudio: boolean;
favourites: number | null;
isFavourite: boolean;
siteUrl: string | null;
media: {
pageInfo: {
total: number | null;
perPage: number | null;
currentPage: number | null;
lastPage: number | null;
hasNextPage: boolean | null;
} | null;
} | null;
} | null;
} | null> | null;
} | null;
nextAiringEpisode: {
id: number;
airingAt: number;
timeUntilAiring: number;
episode: number;
mediaId: number;
} | null;
tags: Array<{
id: number;
name: string;
description: string | null;
category: string | null;
rank: number | null;
} | null> | null;
externalLinks: Array<{
id: number;
url: string | null;
site: string;
siteId: number | null;
type: ExternalLinkType | null;
} | null> | null;
title: {
romaji: string | null;
english: string | null;
native: string | null;
userPreferred: string | null;
} | null;
coverImage: {
large: string | null;
medium: string | null;
extraLarge: string | null;
color: string | null;
} | null;
startDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
endDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null;
};
export type GetAnimeByTitleQueryVariables = Exact<{
title: InputMaybe<Scalars["String"]["input"]>;
}>;
export type GetAnimeByTitleQuery = {
Page: {
media: Array<{
id: number;
idMal: number | null;
bannerImage: string | null;
description: string | null;
format: MediaFormat | null;
status: MediaStatus | null;
type: MediaType | null;
episodes: number | null;
chapters: number | null;
volumes: number | null;
duration: number | null;
genres: Array<string | null> | null;
averageScore: number | null;
meanScore: number | null;
popularity: number | null;
favourites: number | null;
trending: number | null;
source: MediaSource$1 | null;
countryOfOrigin: any | null;
isAdult: boolean | null;
isLicensed: boolean | null;
isLocked: boolean | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
hashtag: string | null;
synonyms: Array<string | null> | null;
season: MediaSeason | null;
seasonYear: number | null;
siteUrl: string | null;
updatedAt: number | null;
autoCreateForumThread: boolean | null;
isRecommendationBlocked: boolean | null;
isReviewBlocked: boolean | null;
modNotes: string | null;
nextAiringEpisode: {
id: number;
airingAt: number;
timeUntilAiring: number;
episode: number;
mediaId: number;
} | null;
tags: Array<{
id: number;
name: string;
description: string | null;
category: string | null;
rank: number | null;
} | null> | null;
externalLinks: Array<{
id: number;
url: string | null;
site: string;
siteId: number | null;
type: ExternalLinkType | null;
} | null> | null;
title: {
romaji: string | null;
english: string | null;
native: string | null;
userPreferred: string | null;
} | null;
coverImage: {
large: string | null;
medium: string | null;
extraLarge: string | null;
color: string | null;
} | null;
startDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
endDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null> | null;
} | null;
};
export type GetAnimeCharactersQueryVariables = Exact<{
id: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetAnimeCharactersQuery = {
Media: {
characters: {
edges: Array<{
role: CharacterRole | null;
node: {
id: number;
description: string | null;
gender: string | null;
age: string | null;
bloodType: string | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
favourites: number | null;
siteUrl: string | null;
name: {
alternative: Array<string | null> | null;
alternativeSpoiler: Array<string | null> | null;
first: string | null;
full: string | null;
last: string | null;
middle: string | null;
native: string | null;
userPreferred: string | null;
} | null;
image: {
large: string | null;
medium: string | null;
} | null;
dateOfBirth: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null;
} | null> | null;
} | null;
} | null;
};
export type GetAnimeListByGenreQueryVariables = Exact<{
genre: Scalars["String"]["input"];
page?: InputMaybe<Scalars["Int"]["input"]>;
perPage?: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetAnimeListByGenreQuery = {
Page: {
media: Array<{
id: number;
idMal: number | null;
bannerImage: string | null;
description: string | null;
format: MediaFormat | null;
status: MediaStatus | null;
type: MediaType | null;
episodes: number | null;
chapters: number | null;
volumes: number | null;
duration: number | null;
genres: Array<string | null> | null;
averageScore: number | null;
meanScore: number | null;
popularity: number | null;
favourites: number | null;
trending: number | null;
source: MediaSource$1 | null;
countryOfOrigin: any | null;
isAdult: boolean | null;
isLicensed: boolean | null;
isLocked: boolean | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
hashtag: string | null;
synonyms: Array<string | null> | null;
season: MediaSeason | null;
seasonYear: number | null;
siteUrl: string | null;
updatedAt: number | null;
autoCreateForumThread: boolean | null;
isRecommendationBlocked: boolean | null;
isReviewBlocked: boolean | null;
modNotes: string | null;
nextAiringEpisode: {
id: number;
airingAt: number;
timeUntilAiring: number;
episode: number;
mediaId: number;
} | null;
tags: Array<{
id: number;
name: string;
description: string | null;
category: string | null;
rank: number | null;
} | null> | null;
externalLinks: Array<{
id: number;
url: string | null;
site: string;
siteId: number | null;
type: ExternalLinkType | null;
} | null> | null;
title: {
romaji: string | null;
english: string | null;
native: string | null;
userPreferred: string | null;
} | null;
coverImage: {
large: string | null;
medium: string | null;
extraLarge: string | null;
color: string | null;
} | null;
startDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
endDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null> | null;
} | null;
};
export type GetAnimePopularQueryVariables = Exact<{
page?: InputMaybe<Scalars["Int"]["input"]>;
perPage?: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetAnimePopularQuery = {
Page: {
media: Array<{
id: number;
idMal: number | null;
bannerImage: string | null;
description: string | null;
format: MediaFormat | null;
status: MediaStatus | null;
type: MediaType | null;
episodes: number | null;
chapters: number | null;
volumes: number | null;
duration: number | null;
genres: Array<string | null> | null;
averageScore: number | null;
meanScore: number | null;
popularity: number | null;
favourites: number | null;
trending: number | null;
source: MediaSource$1 | null;
countryOfOrigin: any | null;
isAdult: boolean | null;
isLicensed: boolean | null;
isLocked: boolean | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
hashtag: string | null;
synonyms: Array<string | null> | null;
season: MediaSeason | null;
seasonYear: number | null;
siteUrl: string | null;
updatedAt: number | null;
autoCreateForumThread: boolean | null;
isRecommendationBlocked: boolean | null;
isReviewBlocked: boolean | null;
modNotes: string | null;
nextAiringEpisode: {
id: number;
airingAt: number;
timeUntilAiring: number;
episode: number;
mediaId: number;
} | null;
tags: Array<{
id: number;
name: string;
description: string | null;
category: string | null;
rank: number | null;
} | null> | null;
externalLinks: Array<{
id: number;
url: string | null;
site: string;
siteId: number | null;
type: ExternalLinkType | null;
} | null> | null;
title: {
romaji: string | null;
english: string | null;
native: string | null;
userPreferred: string | null;
} | null;
coverImage: {
large: string | null;
medium: string | null;
extraLarge: string | null;
color: string | null;
} | null;
startDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
endDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null> | null;
} | null;
};
export type GetAnimeRecommendationsQueryVariables = Exact<{
id: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetAnimeRecommendationsQuery = {
Media: {
recommendations: {
edges: Array<{
node: {
media: {
id: number;
idMal: number | null;
bannerImage: string | null;
description: string | null;
format: MediaFormat | null;
status: MediaStatus | null;
type: MediaType | null;
episodes: number | null;
chapters: number | null;
volumes: number | null;
duration: number | null;
genres: Array<string | null> | null;
averageScore: number | null;
meanScore: number | null;
popularity: number | null;
favourites: number | null;
trending: number | null;
source: MediaSource$1 | null;
countryOfOrigin: any | null;
isAdult: boolean | null;
isLicensed: boolean | null;
isLocked: boolean | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
hashtag: string | null;
synonyms: Array<string | null> | null;
season: MediaSeason | null;
seasonYear: number | null;
siteUrl: string | null;
updatedAt: number | null;
autoCreateForumThread: boolean | null;
isRecommendationBlocked: boolean | null;
isReviewBlocked: boolean | null;
modNotes: string | null;
nextAiringEpisode: {
id: number;
airingAt: number;
timeUntilAiring: number;
episode: number;
mediaId: number;
} | null;
tags: Array<{
id: number;
name: string;
description: string | null;
category: string | null;
rank: number | null;
} | null> | null;
externalLinks: Array<{
id: number;
url: string | null;
site: string;
siteId: number | null;
type: ExternalLinkType | null;
} | null> | null;
title: {
romaji: string | null;
english: string | null;
native: string | null;
userPreferred: string | null;
} | null;
coverImage: {
large: string | null;
medium: string | null;
extraLarge: string | null;
color: string | null;
} | null;
startDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
endDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null;
} | null;
} | null> | null;
} | null;
} | null;
};
export type GetAnimeRelationsQueryVariables = Exact<{
id: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetAnimeRelationsQuery = {
Media: {
relations: {
edges: Array<{
relationType: MediaRelation | null;
node: {
id: number;
idMal: number | null;
bannerImage: string | null;
description: string | null;
format: MediaFormat | null;
status: MediaStatus | null;
type: MediaType | null;
episodes: number | null;
chapters: number | null;
volumes: number | null;
duration: number | null;
genres: Array<string | null> | null;
averageScore: number | null;
meanScore: number | null;
popularity: number | null;
favourites: number | null;
trending: number | null;
source: MediaSource$1 | null;
countryOfOrigin: any | null;
isAdult: boolean | null;
isLicensed: boolean | null;
isLocked: boolean | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
hashtag: string | null;
synonyms: Array<string | null> | null;
season: MediaSeason | null;
seasonYear: number | null;
siteUrl: string | null;
updatedAt: number | null;
autoCreateForumThread: boolean | null;
isRecommendationBlocked: boolean | null;
isReviewBlocked: boolean | null;
modNotes: string | null;
nextAiringEpisode: {
id: number;
airingAt: number;
timeUntilAiring: number;
episode: number;
mediaId: number;
} | null;
tags: Array<{
id: number;
name: string;
description: string | null;
category: string | null;
rank: number | null;
} | null> | null;
externalLinks: Array<{
id: number;
url: string | null;
site: string;
siteId: number | null;
type: ExternalLinkType | null;
} | null> | null;
title: {
romaji: string | null;
english: string | null;
native: string | null;
userPreferred: string | null;
} | null;
coverImage: {
large: string | null;
medium: string | null;
extraLarge: string | null;
color: string | null;
} | null;
startDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
endDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null;
} | null> | null;
} | null;
} | null;
};
export type GetAnimeStaffQueryVariables = Exact<{
id: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetAnimeStaffQuery = {
Media: {
staff: {
edges: Array<{
role: string | null;
node: {
id: number;
description: string | null;
primaryOccupations: Array<string | null> | null;
gender: string | null;
bloodType: string | null;
homeTown: string | null;
languageV2: string | null;
yearsActive: Array<number | null> | null;
favourites: number | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
age: number | null;
siteUrl: string | null;
name: {
full: string | null;
native: string | null;
first: string | null;
middle: string | null;
last: string | null;
userPreferred: string | null;
} | null;
image: {
large: string | null;
medium: string | null;
} | null;
dateOfBirth: {
year: number | null;
month: number | null;
day: number | null;
} | null;
dateOfDeath: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null;
} | null> | null;
} | null;
} | null;
};
export type GetAnimeTrendingQueryVariables = Exact<{
page?: InputMaybe<Scalars["Int"]["input"]>;
perPage?: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetAnimeTrendingQuery = {
Page: {
media: Array<{
id: number;
idMal: number | null;
bannerImage: string | null;
description: string | null;
format: MediaFormat | null;
status: MediaStatus | null;
type: MediaType | null;
episodes: number | null;
chapters: number | null;
volumes: number | null;
duration: number | null;
genres: Array<string | null> | null;
averageScore: number | null;
meanScore: number | null;
popularity: number | null;
favourites: number | null;
trending: number | null;
source: MediaSource$1 | null;
countryOfOrigin: any | null;
isAdult: boolean | null;
isLicensed: boolean | null;
isLocked: boolean | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
hashtag: string | null;
synonyms: Array<string | null> | null;
season: MediaSeason | null;
seasonYear: number | null;
siteUrl: string | null;
updatedAt: number | null;
autoCreateForumThread: boolean | null;
isRecommendationBlocked: boolean | null;
isReviewBlocked: boolean | null;
modNotes: string | null;
nextAiringEpisode: {
id: number;
airingAt: number;
timeUntilAiring: number;
episode: number;
mediaId: number;
} | null;
tags: Array<{
id: number;
name: string;
description: string | null;
category: string | null;
rank: number | null;
} | null> | null;
externalLinks: Array<{
id: number;
url: string | null;
site: string;
siteId: number | null;
type: ExternalLinkType | null;
} | null> | null;
title: {
romaji: string | null;
english: string | null;
native: string | null;
userPreferred: string | null;
} | null;
coverImage: {
large: string | null;
medium: string | null;
extraLarge: string | null;
color: string | null;
} | null;
startDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
endDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null> | null;
} | null;
};
export type SearchAnimeQueryVariables = Exact<{
query: InputMaybe<Scalars["String"]["input"]>;
page: InputMaybe<Scalars["Int"]["input"]>;
perPage: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type SearchAnimeQuery = {
Page: {
media: Array<{
id: number;
idMal: number | null;
bannerImage: string | null;
description: string | null;
format: MediaFormat | null;
status: MediaStatus | null;
type: MediaType | null;
episodes: number | null;
chapters: number | null;
volumes: number | null;
duration: number | null;
genres: Array<string | null> | null;
averageScore: number | null;
meanScore: number | null;
popularity: number | null;
favourites: number | null;
trending: number | null;
source: MediaSource$1 | null;
countryOfOrigin: any | null;
isAdult: boolean | null;
isLicensed: boolean | null;
isLocked: boolean | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
hashtag: string | null;
synonyms: Array<string | null> | null;
season: MediaSeason | null;
seasonYear: number | null;
siteUrl: string | null;
updatedAt: number | null;
autoCreateForumThread: boolean | null;
isRecommendationBlocked: boolean | null;
isReviewBlocked: boolean | null;
modNotes: string | null;
nextAiringEpisode: {
id: number;
airingAt: number;
timeUntilAiring: number;
episode: number;
mediaId: number;
} | null;
tags: Array<{
id: number;
name: string;
description: string | null;
category: string | null;
rank: number | null;
} | null> | null;
externalLinks: Array<{
id: number;
url: string | null;
site: string;
siteId: number | null;
type: ExternalLinkType | null;
} | null> | null;
title: {
romaji: string | null;
english: string | null;
native: string | null;
userPreferred: string | null;
} | null;
coverImage: {
large: string | null;
medium: string | null;
extraLarge: string | null;
color: string | null;
} | null;
startDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
endDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null> | null;
} | null;
};
export type CharactersBirthdayTodayQueryVariables = Exact<{
page: InputMaybe<Scalars["Int"]["input"]>;
perPage: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type CharactersBirthdayTodayQuery = {
Page: {
characters: Array<{
id: number;
description: string | null;
gender: string | null;
age: string | null;
bloodType: string | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
favourites: number | null;
siteUrl: string | null;
name: {
alternative: Array<string | null> | null;
alternativeSpoiler: Array<string | null> | null;
first: string | null;
full: string | null;
last: string | null;
middle: string | null;
native: string | null;
userPreferred: string | null;
} | null;
image: {
large: string | null;
medium: string | null;
} | null;
dateOfBirth: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null> | null;
} | null;
};
export type GetCharacterByIdQueryVariables = Exact<{
id: Scalars["Int"]["input"];
}>;
export type GetCharacterByIdQuery = {
Character: {
isFavourite: boolean;
favourites: number | null;
id: number;
description: string | null;
gender: string | null;
age: string | null;
bloodType: string | null;
isFavouriteBlocked: boolean;
siteUrl: string | null;
media: {
nodes: Array<{
id: number;
type: MediaType | null;
title: {
romaji: string | null;
english: string | null;
native: string | null;
userPreferred: string | null;
} | null;
} | null> | null;
} | null;
name: {
alternative: Array<string | null> | null;
alternativeSpoiler: Array<string | null> | null;
first: string | null;
full: string | null;
last: string | null;
middle: string | null;
native: string | null;
userPreferred: string | null;
} | null;
image: {
large: string | null;
medium: string | null;
} | null;
dateOfBirth: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null;
};
export type ToggleFavoriteCharacterMutationVariables = Exact<{
charID: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type ToggleFavoriteCharacterMutation = {
ToggleFavourite: {
characters: {
nodes: Array<{
id: number;
} | null> | null;
} | null;
} | null;
};
export type GetMangaByIdQueryVariables = Exact<{
id: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetMangaByIdQuery = {
Media: {
id: number;
idMal: number | null;
bannerImage: string | null;
description: string | null;
format: MediaFormat | null;
status: MediaStatus | null;
type: MediaType | null;
episodes: number | null;
chapters: number | null;
volumes: number | null;
duration: number | null;
genres: Array<string | null> | null;
averageScore: number | null;
meanScore: number | null;
popularity: number | null;
favourites: number | null;
trending: number | null;
source: MediaSource$1 | null;
countryOfOrigin: any | null;
isAdult: boolean | null;
isLicensed: boolean | null;
isLocked: boolean | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
hashtag: string | null;
synonyms: Array<string | null> | null;
season: MediaSeason | null;
seasonYear: number | null;
siteUrl: string | null;
updatedAt: number | null;
autoCreateForumThread: boolean | null;
isRecommendationBlocked: boolean | null;
isReviewBlocked: boolean | null;
modNotes: string | null;
nextAiringEpisode: {
id: number;
airingAt: number;
timeUntilAiring: number;
episode: number;
mediaId: number;
} | null;
tags: Array<{
id: number;
name: string;
description: string | null;
category: string | null;
rank: number | null;
} | null> | null;
externalLinks: Array<{
id: number;
url: string | null;
site: string;
siteId: number | null;
type: ExternalLinkType | null;
} | null> | null;
title: {
romaji: string | null;
english: string | null;
native: string | null;
userPreferred: string | null;
} | null;
coverImage: {
large: string | null;
medium: string | null;
extraLarge: string | null;
color: string | null;
} | null;
startDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
endDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null;
};
export type GetMangaByTitleQueryVariables = Exact<{
title: Scalars["String"]["input"];
}>;
export type GetMangaByTitleQuery = {
Page: {
media: Array<{
id: number;
idMal: number | null;
bannerImage: string | null;
description: string | null;
format: MediaFormat | null;
status: MediaStatus | null;
type: MediaType | null;
episodes: number | null;
chapters: number | null;
volumes: number | null;
duration: number | null;
genres: Array<string | null> | null;
averageScore: number | null;
meanScore: number | null;
popularity: number | null;
favourites: number | null;
trending: number | null;
source: MediaSource$1 | null;
countryOfOrigin: any | null;
isAdult: boolean | null;
isLicensed: boolean | null;
isLocked: boolean | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
hashtag: string | null;
synonyms: Array<string | null> | null;
season: MediaSeason | null;
seasonYear: number | null;
siteUrl: string | null;
updatedAt: number | null;
autoCreateForumThread: boolean | null;
isRecommendationBlocked: boolean | null;
isReviewBlocked: boolean | null;
modNotes: string | null;
nextAiringEpisode: {
id: number;
airingAt: number;
timeUntilAiring: number;
episode: number;
mediaId: number;
} | null;
tags: Array<{
id: number;
name: string;
description: string | null;
category: string | null;
rank: number | null;
} | null> | null;
externalLinks: Array<{
id: number;
url: string | null;
site: string;
siteId: number | null;
type: ExternalLinkType | null;
} | null> | null;
title: {
romaji: string | null;
english: string | null;
native: string | null;
userPreferred: string | null;
} | null;
coverImage: {
large: string | null;
medium: string | null;
extraLarge: string | null;
color: string | null;
} | null;
startDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
endDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null> | null;
} | null;
};
export type GetMangaCharactersQueryVariables = Exact<{
id: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetMangaCharactersQuery = {
Media: {
characters: {
edges: Array<{
role: CharacterRole | null;
node: {
id: number;
description: string | null;
gender: string | null;
age: string | null;
bloodType: string | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
favourites: number | null;
siteUrl: string | null;
name: {
alternative: Array<string | null> | null;
alternativeSpoiler: Array<string | null> | null;
first: string | null;
full: string | null;
last: string | null;
middle: string | null;
native: string | null;
userPreferred: string | null;
} | null;
image: {
large: string | null;
medium: string | null;
} | null;
dateOfBirth: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null;
} | null> | null;
} | null;
} | null;
};
export type GetMangaListByGenreQueryVariables = Exact<{
genre: InputMaybe<Scalars["String"]["input"]>;
page?: InputMaybe<Scalars["Int"]["input"]>;
perPage?: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetMangaListByGenreQuery = {
Page: {
media: Array<{
id: number;
idMal: number | null;
bannerImage: string | null;
description: string | null;
format: MediaFormat | null;
status: MediaStatus | null;
type: MediaType | null;
episodes: number | null;
chapters: number | null;
volumes: number | null;
duration: number | null;
genres: Array<string | null> | null;
averageScore: number | null;
meanScore: number | null;
popularity: number | null;
favourites: number | null;
trending: number | null;
source: MediaSource$1 | null;
countryOfOrigin: any | null;
isAdult: boolean | null;
isLicensed: boolean | null;
isLocked: boolean | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
hashtag: string | null;
synonyms: Array<string | null> | null;
season: MediaSeason | null;
seasonYear: number | null;
siteUrl: string | null;
updatedAt: number | null;
autoCreateForumThread: boolean | null;
isRecommendationBlocked: boolean | null;
isReviewBlocked: boolean | null;
modNotes: string | null;
nextAiringEpisode: {
id: number;
airingAt: number;
timeUntilAiring: number;
episode: number;
mediaId: number;
} | null;
tags: Array<{
id: number;
name: string;
description: string | null;
category: string | null;
rank: number | null;
} | null> | null;
externalLinks: Array<{
id: number;
url: string | null;
site: string;
siteId: number | null;
type: ExternalLinkType | null;
} | null> | null;
title: {
romaji: string | null;
english: string | null;
native: string | null;
userPreferred: string | null;
} | null;
coverImage: {
large: string | null;
medium: string | null;
extraLarge: string | null;
color: string | null;
} | null;
startDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
endDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null> | null;
} | null;
};
export type GetMangaPopularQueryVariables = Exact<{
page?: InputMaybe<Scalars["Int"]["input"]>;
perPage?: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetMangaPopularQuery = {
Page: {
media: Array<{
id: number;
idMal: number | null;
bannerImage: string | null;
description: string | null;
format: MediaFormat | null;
status: MediaStatus | null;
type: MediaType | null;
episodes: number | null;
chapters: number | null;
volumes: number | null;
duration: number | null;
genres: Array<string | null> | null;
averageScore: number | null;
meanScore: number | null;
popularity: number | null;
favourites: number | null;
trending: number | null;
source: MediaSource$1 | null;
countryOfOrigin: any | null;
isAdult: boolean | null;
isLicensed: boolean | null;
isLocked: boolean | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
hashtag: string | null;
synonyms: Array<string | null> | null;
season: MediaSeason | null;
seasonYear: number | null;
siteUrl: string | null;
updatedAt: number | null;
autoCreateForumThread: boolean | null;
isRecommendationBlocked: boolean | null;
isReviewBlocked: boolean | null;
modNotes: string | null;
nextAiringEpisode: {
id: number;
airingAt: number;
timeUntilAiring: number;
episode: number;
mediaId: number;
} | null;
tags: Array<{
id: number;
name: string;
description: string | null;
category: string | null;
rank: number | null;
} | null> | null;
externalLinks: Array<{
id: number;
url: string | null;
site: string;
siteId: number | null;
type: ExternalLinkType | null;
} | null> | null;
title: {
romaji: string | null;
english: string | null;
native: string | null;
userPreferred: string | null;
} | null;
coverImage: {
large: string | null;
medium: string | null;
extraLarge: string | null;
color: string | null;
} | null;
startDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
endDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null> | null;
} | null;
};
export type GetMangaRecommendationsQueryVariables = Exact<{
id: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetMangaRecommendationsQuery = {
Media: {
recommendations: {
edges: Array<{
node: {
media: {
id: number;
idMal: number | null;
bannerImage: string | null;
description: string | null;
format: MediaFormat | null;
status: MediaStatus | null;
type: MediaType | null;
episodes: number | null;
chapters: number | null;
volumes: number | null;
duration: number | null;
genres: Array<string | null> | null;
averageScore: number | null;
meanScore: number | null;
popularity: number | null;
favourites: number | null;
trending: number | null;
source: MediaSource$1 | null;
countryOfOrigin: any | null;
isAdult: boolean | null;
isLicensed: boolean | null;
isLocked: boolean | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
hashtag: string | null;
synonyms: Array<string | null> | null;
season: MediaSeason | null;
seasonYear: number | null;
siteUrl: string | null;
updatedAt: number | null;
autoCreateForumThread: boolean | null;
isRecommendationBlocked: boolean | null;
isReviewBlocked: boolean | null;
modNotes: string | null;
nextAiringEpisode: {
id: number;
airingAt: number;
timeUntilAiring: number;
episode: number;
mediaId: number;
} | null;
tags: Array<{
id: number;
name: string;
description: string | null;
category: string | null;
rank: number | null;
} | null> | null;
externalLinks: Array<{
id: number;
url: string | null;
site: string;
siteId: number | null;
type: ExternalLinkType | null;
} | null> | null;
title: {
romaji: string | null;
english: string | null;
native: string | null;
userPreferred: string | null;
} | null;
coverImage: {
large: string | null;
medium: string | null;
extraLarge: string | null;
color: string | null;
} | null;
startDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
endDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null;
} | null;
} | null> | null;
} | null;
} | null;
};
export type GetMangaRelationsQueryVariables = Exact<{
id: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetMangaRelationsQuery = {
Media: {
relations: {
edges: Array<{
relationType: MediaRelation | null;
node: {
id: number;
idMal: number | null;
bannerImage: string | null;
description: string | null;
format: MediaFormat | null;
status: MediaStatus | null;
type: MediaType | null;
episodes: number | null;
chapters: number | null;
volumes: number | null;
duration: number | null;
genres: Array<string | null> | null;
averageScore: number | null;
meanScore: number | null;
popularity: number | null;
favourites: number | null;
trending: number | null;
source: MediaSource$1 | null;
countryOfOrigin: any | null;
isAdult: boolean | null;
isLicensed: boolean | null;
isLocked: boolean | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
hashtag: string | null;
synonyms: Array<string | null> | null;
season: MediaSeason | null;
seasonYear: number | null;
siteUrl: string | null;
updatedAt: number | null;
autoCreateForumThread: boolean | null;
isRecommendationBlocked: boolean | null;
isReviewBlocked: boolean | null;
modNotes: string | null;
nextAiringEpisode: {
id: number;
airingAt: number;
timeUntilAiring: number;
episode: number;
mediaId: number;
} | null;
tags: Array<{
id: number;
name: string;
description: string | null;
category: string | null;
rank: number | null;
} | null> | null;
externalLinks: Array<{
id: number;
url: string | null;
site: string;
siteId: number | null;
type: ExternalLinkType | null;
} | null> | null;
title: {
romaji: string | null;
english: string | null;
native: string | null;
userPreferred: string | null;
} | null;
coverImage: {
large: string | null;
medium: string | null;
extraLarge: string | null;
color: string | null;
} | null;
startDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
endDate: {
year: number | null;
month: number | null;
day: number | null;
} | null;
} | null;
} | null> | null;
} | null;
} | null;
};
export type GetMangaStaffQueryVariables = Exact<{
id: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetMangaStaffQuery = {
Media: {
staff: {
edges: Array<{
role: string | null;
node: {
id: number;
description: string | null;
primaryOccupations: Array<string | null> | null;
gender: string | null;
bloodType: string | null;
homeTown: string | null;
languageV2: string | null;
yearsActive: Array<number | null> | null;
favourites: number | null;
isFavourite: boolean;
isFavouriteBlocked: boolean;
age: number | null;
siteUrl: string | null;
name: {