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-interceptorUsing 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 📑