shikimori-graphql-api-lightweight-client
Version:
Lightweight Shikimori GraphQL API client. Exports only minimal Fetch call. Fully compatible with AWS LLRT.
58 lines (47 loc) • 2.56 kB
text/typescript
import { internal_client_fetch } from './core';
import {
Anime,
Character,
Contest,
Genre,
Manga,
Person,
QueryAnimesArgs,
QueryCharactersArgs,
QueryContestsArgs,
QueryGenresArgs,
QueryMangasArgs,
QueryPeopleArgs,
QueryUserRatesArgs,
QueryUsersArgs,
User,
UserRate,
} from './types-api';
import { QueryResultDescription } from './types-client';
export const animes = (args: QueryAnimesArgs, resultDescription: QueryResultDescription<Anime>): Promise<Anime[]> => {
return internal_client_fetch<QueryAnimesArgs, Anime, Anime[]>('animes', args, resultDescription);
};
export const characters = (args: QueryCharactersArgs, resultDescription: QueryResultDescription<Character>): Promise<Character[]> => {
return internal_client_fetch<QueryCharactersArgs, Character, Character[]>('characters', args, resultDescription);
};
export const contests = (args: QueryContestsArgs, resultDescription: QueryResultDescription<Contest>): Promise<Contest[]> => {
return internal_client_fetch<QueryContestsArgs, Contest, Contest[]>('contests', args, resultDescription);
};
export const currentUser = (args: QueryUsersArgs, resultDescription: QueryResultDescription<User>): Promise<User> => {
return internal_client_fetch<QueryUsersArgs, User, User>('currentUser', args, resultDescription);
};
export const genres = (args: QueryGenresArgs, resultDescription: QueryResultDescription<Genre>): Promise<Genre[]> => {
return internal_client_fetch<QueryGenresArgs, Genre, Genre[]>('genres', args, resultDescription);
};
export const mangas = (args: QueryMangasArgs, resultDescription: QueryResultDescription<Manga>): Promise<Manga[]> => {
return internal_client_fetch<QueryMangasArgs, Manga, Manga[]>('mangas', args, resultDescription);
};
export const people = (args: QueryPeopleArgs, resultDescription: QueryResultDescription<Person>): Promise<Person[]> => {
return internal_client_fetch<QueryPeopleArgs, Person, Person[]>('people', args, resultDescription);
};
export const userRates = (args: QueryUserRatesArgs, resultDescription: QueryResultDescription<UserRate>): Promise<UserRate[]> => {
return internal_client_fetch<QueryUserRatesArgs, UserRate, UserRate[]>('userRates', args, resultDescription);
};
export const users = (args: QueryUsersArgs, resultDescription: QueryResultDescription<User>): Promise<User[]> => {
return internal_client_fetch<QueryUsersArgs, User, User[]>('users', args, resultDescription);
};