Shikimori GraphQL API Lightweight Client
This is typed lightweight client for GraphQL. It contains only methods and types
and exports only fetch
calls to make requests.
Installation
npm install shikimori-graphql-api-lightweight-client
npm install -D graphql
Usage
The library provides 2 types of methods: api endpoints and the client_
methods.
Client methods
The client_
methods are used to set up the client. They are:
client_setUserAgent(agent: string)
: Sets the user agent for the client (required, according to Shikimori API).
client_setAuthToken(token: string)
: Sets the authentication token for the client.
client_setCustomFetch(callback)
: Sets a custom fetch function for the client.
API methods
The API methods are used to make requests to the Shikimori API. They accepts 2 arguments:
args
- The arguments for the request (e.g. search
, page
, limit
, etc.).
resultDescription
- The description of the result.
This is an object, where the keys are the names of the fields in the result and the values are always 1
. For
nested objects, the value is an object with the same structure.
Available API methods are:
- animes
- characters
- contests
- currentUser
- genres
- mangas
- people
- userRates
- users
Examples
import { animes, client_setUserAgent } from 'shikimori-graphql-api-lightweight-client';
import { client_setAuthToken } from './core';
client_setUserAgent('my-app/1.0');
const result = await animes(
{ ids: '1' },
{ malId: 1, genres: { name: 1 } });
console.log(result);
Features
- No dependencies.
- When using code minifiers, only the fetch command is exported.
- Can be used in browser and Node.js.
- Fully compatible with AWS LLRT.
- Fully typed API.
License
This project is licensed under the MIT License - see the LICENSE.md file for details.