export interface User { name: string; id: number; statistics: { anime: { count: number; meanScore: number; minutesWatched: number; episodesWatched: number; }; manga: { count: number; meanScore: number; chaptersRead: number; volumesRead: number; }; }; avatar: { large: string; }; } export const user = async (username: string): Promise => { const userData = ( await ( await fetch('https://graphql.anilist.co', { method: 'POST', headers: { 'Content-Type': 'application/json', Accept: 'application/json' }, body: JSON.stringify({ query: `{ User(name: "${username}") { name id avatar { large } statistics { anime { count meanScore minutesWatched episodesWatched } manga { count meanScore chaptersRead volumesRead } } } }` }) }) ).json() )['data']['User']; return userData; };