Jikan API wrapper for Typescript and Node.js with built-in typings.
- 💅 Fully typed
- ♻ Http Request Cache
- 📄 Logging
- 📦 ESM with tree shaking support
npm install --save @tutkli/jikan-ts axios axios-cache-interceptor
# or
yarn add @tutkli/jikan-ts axios axios-cache-interceptor
Using a specific client, like AnimeClient:
import { AnimeClient, JikanResponse, Anime } from '@tutkli/jikan-ts';
const animeClient = new AnimeClient();
animeClient
.getAnimeById(1)
.then((response: JikanResponse<Anime>) => {
/* ... */
})
Or, using the JikanClient:
import { JikanClient, JikanResponse, Anime } from '@tutkli/jikan-ts';
const jikanClient = new JikanClient();
jikanClient.anime
.getAnimeById(1)
.then((response: JikanResponse<Anime>) => {
/* ... */
})
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
}
);
Jikan uses axios
as an http
client and if you are not satisfied with the default client settings, then you can build your instance by passing it to the optional axiosInstance
argument
import { AnimeClient } from '@tutkli/jikan-ts';
import Axios from 'axios';
const animeClient = new AnimeClient({
axiosInstance: Axios.create({ ... })
}
);
For more information, check out the axios-cache-interceptor Documentation.
To enable logging, pass the enableLogging
argument as true
.
import { AnimeClient } from '@tutkli/jikan-ts';
const animeClient = new AnimeClient({
enableLogging: true,
});
- AnimeClient
- CharactersClient
- GenresClient
- MangaClient
- TopClient
- SchedulesClient
- SeasonsClient
- RandomClient
- JikanClient (Main client)
- Did you find this project useful? Leave a ⭐
- Found a problem? Create an issue 🔎
- Want to contribute? Submit a PR 📑