jikan-ts
jikan-ts copied to clipboard
Jikan API wrapper for Typescript and NodeJS with built in typings.
jikan-ts
Jikan API wrapper for Typescript and NodeJS with build in typings.
Features
- 💅 Fully typed
- ♻ Http Request Cache
- 📄 Logging
- 📦 ESM with tree shaking support
Installation
npm install --save @tutkli/jikan-ts axios axios-cache-interceptor
# or
yarn add @tutkli/jikan-ts axios axios-cache-interceptor
Example
Using a specific client, like AnimeClient:
import { AnimeClient, JikanResponse, Anime } from '@tutkli/jikan-ts';
const animeClient = new AnimeClient();
animeClient
.getAnimeById(1)
.then((jikanResponse: JikanResponse<Anime>) => {
/* ... */
})
.catch(error => console.error(error));
Or, using the JikanClient:
import { JikanClient, JikanResponse, Anime } from '@tutkli/jikan-ts';
const jikanClient = new JikanClient();
jikanClient.anime
.getAnimeById(1)
.then((jikanResponse: JikanResponse<Anime>) => {
/* ... */
})
.catch(error => console.error(error));
Client configuration
Cache Configuration
Jikan-ts uses axios-cache-interceptor
to store request results.
To use a specific configuration, pass the cacheOptions
argument when instantiating a client:
import { AnimeClient } from '@tutkli/jikan-ts';
const animeClient = new AnimeClient({
cacheOptions: { ... } // axios-cache-interceptor options
}
);
For more information, check out the axios-cache-interceptor Documentation.
Logging
To enable logging, pass the enableLogging
argument as true
.
import { AnimeClient } from '@tutkli/jikan-ts';
const animeClient = new AnimeClient({
enableLogging: true,
});
Available Clients
- AnimeClient
- CharactersClient
- GenresClient
- MangaClient
- TopClient
- SchedulesClient
- SeasonsClient
- JikanClient (Main client)
Leave you feedback
- Did you find this project useful? Leave a ⭐
- Found a problem? Create an issue 🔎
- Want to contribute? Submit a PR 📑