@tutkli/jikan-ts 0.5.2 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/clients/anime.client.ts +1 -1
- package/src/clients/base.client.ts +82 -82
- package/src/clients/manga.client.ts +2 -2
- package/src/clients/top.client.ts +3 -4
- package/src/config/logger.config.ts +8 -8
package/CHANGELOG.md
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import pino, { Logger, LoggerOptions } from "pino";
|
|
2
2
|
import { AxiosError } from "axios";
|
|
3
3
|
import { CacheAxiosResponse, CacheRequestConfig, AxiosCacheInstance, CacheOptions } from "axios-cache-interceptor";
|
|
4
4
|
export enum BaseURL {
|
|
@@ -37,11 +37,11 @@ export const DEFAULT_CACHE_OPTIONS: {
|
|
|
37
37
|
headerInterpreter: import("axios-cache-interceptor").HeadersInterpreter;
|
|
38
38
|
debug: undefined;
|
|
39
39
|
};
|
|
40
|
-
export const createLogger: (options
|
|
41
|
-
export const handleRequest: (config: CacheRequestConfig, logger: Logger) => CacheRequestConfig;
|
|
42
|
-
export const handleRequestError: (error: AxiosError, logger: Logger) => Promise<AxiosError>;
|
|
43
|
-
export const handleResponse: (response: CacheAxiosResponse, logger: Logger) => CacheAxiosResponse;
|
|
44
|
-
export const handleResponseError: (error: AxiosError, logger: Logger) => Promise<AxiosError>;
|
|
40
|
+
export const createLogger: (options?: pino.LoggerOptions | pino.DestinationStream) => pino.Logger;
|
|
41
|
+
export const handleRequest: (config: CacheRequestConfig, logger: pino.Logger) => CacheRequestConfig;
|
|
42
|
+
export const handleRequestError: (error: AxiosError, logger: pino.Logger) => Promise<AxiosError>;
|
|
43
|
+
export const handleResponse: (response: CacheAxiosResponse, logger: pino.Logger) => CacheAxiosResponse;
|
|
44
|
+
export const handleResponseError: (error: AxiosError, logger: pino.Logger) => Promise<AxiosError>;
|
|
45
45
|
/**
|
|
46
46
|
* **Client Args**
|
|
47
47
|
* Used to pass optional configuration for logging and cache to the clients.
|
|
@@ -588,7 +588,7 @@ export class MangaClient extends BaseClient {
|
|
|
588
588
|
* @param searchParams Filter parameters
|
|
589
589
|
* @returns A JikanResponse with Manga data
|
|
590
590
|
*/
|
|
591
|
-
getMangaSearch(searchParams
|
|
591
|
+
getMangaSearch(searchParams?: MangaSearchParams): Promise<JikanResponse<Manga>>;
|
|
592
592
|
/**
|
|
593
593
|
* Get a Manga with full information by its ID
|
|
594
594
|
* @param mal_id The Manga ID
|
|
@@ -644,12 +644,12 @@ declare class TopClient extends BaseClient {
|
|
|
644
644
|
* Get the top Animes
|
|
645
645
|
* @returns A JikanResponse with Anime data
|
|
646
646
|
*/
|
|
647
|
-
getTopAnime(searchParams
|
|
647
|
+
getTopAnime(searchParams?: AnimeTopParams): Promise<JikanResponse<Anime>>;
|
|
648
648
|
/**
|
|
649
649
|
* Get the top Mangas
|
|
650
650
|
* @returns A JikanResponse with Manga data
|
|
651
651
|
*/
|
|
652
|
-
getTopManga(searchParams
|
|
652
|
+
getTopManga(searchParams?: MangaTopParams): Promise<JikanResponse<Manga>>;
|
|
653
653
|
}
|
|
654
654
|
/**
|
|
655
655
|
* **Jikan Client**
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["src/src/constants/base.constant.ts","src/src/constants/endpoints.constant.ts","src/src/constants/index.ts","src/src/config/cache.config.ts","src/src/config/logger.config.ts","src/src/config/index.ts","src/src/clients/base.client.ts","src/src/models/Common/resource.model.ts","src/src/models/Common/image.model.ts","src/src/models/Common/character.model.ts","src/src/models/Common/person.model.ts","src/src/models/Common/recommendation.model.ts","src/src/models/Common/statistics.model.ts","src/src/models/Common/index.ts","src/src/models/Anime/anime-video.model.ts","src/src/models/Anime/anime.model.ts","src/src/models/Anime/anime-character.model.ts","src/src/models/Anime/anime-staff.model.ts","src/src/models/Anime/anime-episode.model.ts","src/src/models/Anime/anime-picture.model.ts","src/src/models/Anime/anime-statistics.model.ts","src/src/models/Anime/index.ts","src/src/models/Manga/manga.model.ts","src/src/models/Manga/manga-statistics.model.ts","src/src/models/Manga/index.ts","src/src/models/Response/response.model.ts","src/src/models/Response/index.ts","src/src/models/Params/search-params.model.ts","src/src/models/Params/top-params.model.ts","src/src/models/Params/index.ts","src/src/models/index.ts","src/src/clients/anime.client.ts","src/src/clients/manga.client.ts","src/src/clients/top.client.ts","src/src/clients/jikan.client.ts","src/src/clients/index.ts","src/src/index.ts","src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export * from './clients';\r\nexport * from './config';\r\nexport * from './constants';\r\nexport * from './models';\r\n"],"names":[],"version":3,"file":"index.d.ts.map"}
|
|
1
|
+
{"mappings":"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","sources":["src/src/constants/base.constant.ts","src/src/constants/endpoints.constant.ts","src/src/constants/index.ts","src/src/config/cache.config.ts","src/src/config/logger.config.ts","src/src/config/index.ts","src/src/clients/base.client.ts","src/src/models/Common/resource.model.ts","src/src/models/Common/image.model.ts","src/src/models/Common/character.model.ts","src/src/models/Common/person.model.ts","src/src/models/Common/recommendation.model.ts","src/src/models/Common/statistics.model.ts","src/src/models/Common/index.ts","src/src/models/Anime/anime-video.model.ts","src/src/models/Anime/anime.model.ts","src/src/models/Anime/anime-character.model.ts","src/src/models/Anime/anime-staff.model.ts","src/src/models/Anime/anime-episode.model.ts","src/src/models/Anime/anime-picture.model.ts","src/src/models/Anime/anime-statistics.model.ts","src/src/models/Anime/index.ts","src/src/models/Manga/manga.model.ts","src/src/models/Manga/manga-statistics.model.ts","src/src/models/Manga/index.ts","src/src/models/Response/response.model.ts","src/src/models/Response/index.ts","src/src/models/Params/search-params.model.ts","src/src/models/Params/top-params.model.ts","src/src/models/Params/index.ts","src/src/models/index.ts","src/src/clients/anime.client.ts","src/src/clients/manga.client.ts","src/src/clients/top.client.ts","src/src/clients/jikan.client.ts","src/src/clients/index.ts","src/src/index.ts","src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export * from './clients';\r\nexport * from './config';\r\nexport * from './constants';\r\nexport * from './models';\r\n"],"names":[],"version":3,"file":"index.d.ts.map"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var $8zHUo$axioscacheinterceptor = require("axios-cache-interceptor");
|
|
2
2
|
var $8zHUo$axios = require("axios");
|
|
3
|
-
require("pino");
|
|
3
|
+
var $8zHUo$pino = require("pino");
|
|
4
4
|
|
|
5
5
|
function $parcel$exportWildcard(dest, source) {
|
|
6
6
|
Object.keys(source).forEach(function(key) {
|
|
@@ -102,7 +102,9 @@ $parcel$export($503b6c84a1138c4e$exports, "handleRequestError", () => $503b6c84a
|
|
|
102
102
|
$parcel$export($503b6c84a1138c4e$exports, "handleResponse", () => $503b6c84a1138c4e$export$c113a67a6762ad2e);
|
|
103
103
|
$parcel$export($503b6c84a1138c4e$exports, "handleResponseError", () => $503b6c84a1138c4e$export$1a2565ab2f8c2ac2);
|
|
104
104
|
|
|
105
|
-
const $503b6c84a1138c4e$export$fe2e61603b61130d = (options)=>(0, $
|
|
105
|
+
const $503b6c84a1138c4e$export$fe2e61603b61130d = (options)=>(0, ($parcel$interopDefault($8zHUo$pino)))({
|
|
106
|
+
enabled: true
|
|
107
|
+
});
|
|
106
108
|
const $503b6c84a1138c4e$export$d1ae575bafc1f95e = (config, logger)=>{
|
|
107
109
|
logger.info(`[ Request Config ] ${config.method?.toUpperCase() || ""} | ${config.url || ""}`);
|
|
108
110
|
return config;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["src/index.ts","src/clients/index.ts","src/clients/base.client.ts","src/constants/index.ts","src/constants/base.constant.ts","src/constants/endpoints.constant.ts","src/config/index.ts","src/config/cache.config.ts","src/config/logger.config.ts","src/clients/anime.client.ts","src/clients/manga.client.ts","src/clients/jikan.client.ts","src/clients/top.client.ts","src/models/index.ts","src/models/Anime/index.ts","src/models/Anime/anime.model.ts","src/models/Anime/anime-character.model.ts","src/models/Anime/anime-staff.model.ts","src/models/Anime/anime-episode.model.ts","src/models/Anime/anime-video.model.ts","src/models/Anime/anime-picture.model.ts","src/models/Anime/anime-statistics.model.ts","src/models/Common/index.ts","src/models/Common/resource.model.ts","src/models/Common/image.model.ts","src/models/Common/character.model.ts","src/models/Common/person.model.ts","src/models/Common/recommendation.model.ts","src/models/Common/statistics.model.ts","src/models/Manga/index.ts","src/models/Manga/manga.model.ts","src/models/Manga/manga-statistics.model.ts","src/models/Response/index.ts","src/models/Response/response.model.ts","src/models/Params/index.ts","src/models/Params/search-params.model.ts","src/models/Params/top-params.model.ts"],"sourcesContent":["export * from './clients';\r\nexport * from './config';\r\nexport * from './constants';\r\nexport * from './models';\r\n","export * from './base.client';\r\nexport * from './anime.client';\r\nexport * from './manga.client';\r\nexport * from './jikan.client';\r\n","import { Logger, LoggerOptions } from 'pino';\r\nimport {\r\n AxiosCacheInstance,\r\n CacheAxiosResponse,\r\n CacheOptions,\r\n CacheRequestConfig,\r\n setupCache,\r\n} from 'axios-cache-interceptor';\r\nimport axios, { AxiosError } from 'axios';\r\nimport { BaseURL } from '../constants';\r\nimport {\r\n createLogger,\r\n DEFAULT_CACHE_OPTIONS,\r\n handleRequest,\r\n handleRequestError,\r\n handleResponse,\r\n handleResponseError,\r\n} from '../config';\r\n\r\n/**\r\n * **Client Args**\r\n * Used to pass optional configuration for logging and cache to the clients.\r\n */\r\nexport interface ClientArgs {\r\n /**\r\n * **Logger Options**\r\n * Options for the client logger.\r\n * @see https://getpino.io/#/docs/api?id=options\r\n */\r\n logOptions?: LoggerOptions;\r\n /**\r\n * **Axios Cache Options**\r\n * Options for cache.\r\n * @see https://axios-cache-interceptor.js.org/#/pages/configuration\r\n */\r\n cacheOptions?: CacheOptions;\r\n /**\r\n * **Base URL**\r\n * Location of the JikanAPI. Leave empty to use the official JikanAPI instance.\r\n */\r\n baseURL?: string;\r\n}\r\n\r\n/**\r\n * **Base Client** This client is responsible for creating an Axios Instance and the cache and logging configurations\r\n */\r\nexport abstract class BaseClient {\r\n public api: AxiosCacheInstance;\r\n public logger: Logger;\r\n\r\n constructor(clientOptions?: ClientArgs) {\r\n this.api = setupCache(\r\n axios.create({\r\n baseURL: clientOptions?.baseURL ?? BaseURL.REST,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n }),\r\n {\r\n storage: clientOptions?.cacheOptions?.storage ?? DEFAULT_CACHE_OPTIONS.storage,\r\n generateKey: clientOptions?.cacheOptions?.generateKey ?? DEFAULT_CACHE_OPTIONS.generateKey,\r\n headerInterpreter: clientOptions?.cacheOptions?.headerInterpreter ?? DEFAULT_CACHE_OPTIONS.headerInterpreter,\r\n debug: clientOptions?.cacheOptions?.debug ?? DEFAULT_CACHE_OPTIONS.debug,\r\n }\r\n );\r\n\r\n this.logger = createLogger({\r\n enabled: !(clientOptions?.logOptions?.enabled === undefined || clientOptions?.logOptions.enabled === false),\r\n ...clientOptions?.logOptions,\r\n });\r\n\r\n this.api.interceptors.request.use(\r\n (config: CacheRequestConfig) => handleRequest(config, this.logger),\r\n (error: AxiosError<string>) => handleRequestError(error, this.logger)\r\n );\r\n\r\n this.api.interceptors.response.use(\r\n (response: CacheAxiosResponse) => handleResponse(response, this.logger),\r\n (error: AxiosError<string>) => handleResponseError(error, this.logger)\r\n );\r\n }\r\n}\r\n","export * from './base.constant';\r\nexport * from './endpoints.constant';\r\n","export enum BaseURL {\r\n REST = 'https://api.jikan.moe/v4',\r\n}\r\n","export enum AnimeEndpoints {\n AnimeSearch = '/anime',\n AnimeFullById = '/anime/{id}/full',\n AnimeById = '/anime/{id}',\n AnimeCharacters = '/anime/{id}/characters',\n AnimeStaff = '/anime/{id}/staff',\n AnimeEpisodes = '/anime/{id}/episodes',\n AnimeEpisodeById = '/anime/{id}/episodes/{episode}',\n AnimeVideos = '/anime/{id}/videos',\n AnimeVideosEpisodes = '/anime/{id}/videos/episodes',\n AnimePictures = '/anime/{id}/pictures',\n AnimeStatistics = '/anime/{id}/statistics',\n AnimeRecommendations = '/anime/{id}/recommendations',\n}\n\nexport enum MangaEndpoints {\n MangaSearch = '/manga',\n MangaFullById = '/manga/{id}/full',\n MangaById = '/manga/{id}',\n MangaCharacters = '/manga/{id}/characters',\n MangaPictures = '/manga/{id}/pictures',\n MangaStatistics = '/manga/{id}/statistics',\n MangaRecommendations = '/manga/{id}/recommendations',\n}\n\nexport enum TopEndpoints {\n TopAnime = '/top/anime',\n TopManga = '/top/manga',\n}\n","export * from './cache.config';\r\nexport * from './logger.config';\r\n","import { buildMemoryStorage, defaultHeaderInterpreter, defaultKeyGenerator } from 'axios-cache-interceptor';\r\n\r\nexport const DEFAULT_CACHE_OPTIONS = {\r\n storage: buildMemoryStorage(),\r\n generateKey: defaultKeyGenerator,\r\n headerInterpreter: defaultHeaderInterpreter,\r\n debug: undefined,\r\n};\r\n","import pino, { DestinationStream, Logger, LoggerOptions } from 'pino';\nimport { AxiosError } from 'axios';\nimport { CacheAxiosResponse, CacheRequestConfig } from 'axios-cache-interceptor';\n\nexport const createLogger = (options: LoggerOptions | DestinationStream): Logger => pino(options);\n\nexport const handleRequest = (config: CacheRequestConfig, logger: Logger): CacheRequestConfig => {\n logger.info(`[ Request Config ] ${config.method?.toUpperCase() || ''} | ${config.url || ''}`);\n return config;\n};\n\nexport const handleRequestError = (error: AxiosError, logger: Logger): Promise<AxiosError> => {\n logger.error(`[ Request Error] CODE ${error.code || 'UNKNOWN'} | ${error.message}`);\n throw error;\n};\n\nexport const handleResponse = (response: CacheAxiosResponse, logger: Logger): CacheAxiosResponse => {\n logger.info(response.data);\n return response;\n};\n\nexport const handleResponseError = (error: AxiosError, logger: Logger): Promise<AxiosError> => {\n logger.error(`[ Response Error ] CODE ${error.code || 'UNKNOWN'} | ${error.message}`);\n throw error;\n};\n","import { BaseClient, ClientArgs } from './base.client';\nimport { AnimeEndpoints } from '../constants';\nimport { CacheAxiosResponse } from 'axios-cache-interceptor';\nimport { AxiosError } from 'axios';\nimport {\n Anime,\n AnimeCharacter,\n AnimeEpisode,\n AnimePicture,\n AnimeStaff,\n AnimeStatistics,\n AnimeVideo,\n AnimeVideoEpisode,\n JikanResponse,\n JikanUniqueResponse,\n Recommendation,\n} from '../models';\nimport { AnimeSearchParams } from '../models/Params';\n\n/**\n * **Anime Client**\n *\n * Client used to access the Anime Endpoints:\n * - [AnimeSearch](https://docs.api.jikan.moe/#tag/anime)\n * - [AnimeFullById](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeFullById)\n * - [AnimeById](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeById)\n * - [AnimeCharacters](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeCharacters)\n * - [AnimeStaff](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeStaff)\n * - [AnimeEpisodes](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeEpisodes)\n * - [AnimeEpisodeById](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeEpisodeById)\n * - [AnimeVideos](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeVideos)\n * - [AnimeVideosEpisodes](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeVideosEpisodes)\n * - [AnimePictures](https://docs.api.jikan.moe/#tag/anime/operation/getAnimePictures)\n * - [AnimeStatistics](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeStatistics)\n * - [AnimeRecommendations](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeRecommendations)\n *\n * See also: [JikanAPI](https://docs.api.jikan.moe/)\n */\nexport class AnimeClient extends BaseClient {\n /**\n * @argument clientOptions Options for the client.\n */\n constructor(clientOptions?: ClientArgs) {\n super(clientOptions);\n }\n\n /**\n * Get all the filtered Animes. Returns all the Animes if no filters are given.\n * @param searchParams Filter parameters\n * @returns A JikanResponse with Anime data\n */\n public async getAnimeSearch(searchParams?: AnimeSearchParams): Promise<JikanResponse<Anime>> {\n return new Promise<JikanResponse<Anime>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeSearch}`;\n this.api\n .get<JikanResponse<Anime>>(endpoint, { params: searchParams })\n .then((response: CacheAxiosResponse<JikanResponse<Anime>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get a complete Anime resource data\n * @param mal_id The Anime ID\n * @returns A JikanUniqueResponse with Anime data\n */\n public async getAnimeFullById(mal_id: number): Promise<JikanUniqueResponse<Anime>> {\n return new Promise<JikanUniqueResponse<Anime>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeFullById.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanUniqueResponse<Anime>>(endpoint)\n .then((response: CacheAxiosResponse<JikanUniqueResponse<Anime>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Anime resource data\n * @param mal_id The Anime ID\n * @returns A JikanUniqueResponse with Anime data\n */\n public async getAnimeById(mal_id: number): Promise<JikanUniqueResponse<Anime>> {\n return new Promise<JikanUniqueResponse<Anime>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeById.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanUniqueResponse<Anime>>(endpoint)\n .then((response: CacheAxiosResponse<JikanUniqueResponse<Anime>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Characters of a specific Anime\n * @param mal_id The Anime ID\n * @returns A JikanResponse with AnimeCharacter data\n */\n public async getAnimeCharacters(mal_id: number): Promise<JikanResponse<AnimeCharacter>> {\n return new Promise<JikanResponse<AnimeCharacter>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeCharacters.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<AnimeCharacter>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<AnimeCharacter>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Staff of a specific Anime\n * @param mal_id The Anime ID\n * @returns A JikanResponse with AnimeStaff data\n */\n public async getAnimeStaff(mal_id: number): Promise<JikanResponse<AnimeStaff>> {\n return new Promise<JikanResponse<AnimeStaff>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeStaff.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<AnimeStaff>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<AnimeStaff>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get a list of all the episodes of a specific Anime\n * @param mal_id The Anime ID\n * @returns A JikanResponse with AnimeEpisode data\n */\n public async getAnimeEpisodes(mal_id: number): Promise<JikanResponse<AnimeEpisode>> {\n return new Promise<JikanResponse<AnimeEpisode>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeEpisodes.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<AnimeEpisode>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<AnimeEpisode>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get a single Episode of a specific Anime by its ID\n * @param anime_mal_id The Anime ID\n * @param episode_mal_id The Episode ID\n * @returns A JikanUniqueResponse with AnimeEpisode data\n */\n public async getAnimeEpisodeById(\n anime_mal_id: number,\n episode_mal_id: number\n ): Promise<JikanUniqueResponse<AnimeEpisode>> {\n return new Promise<JikanUniqueResponse<AnimeEpisode>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeEpisodeById.replace('{id}', String(anime_mal_id)).replace(\n '{episode}',\n String(episode_mal_id)\n )}`;\n this.api\n .get<JikanUniqueResponse<AnimeEpisode>>(endpoint)\n .then((response: CacheAxiosResponse<JikanUniqueResponse<AnimeEpisode>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Videos related to a specific Anime\n * @param mal_id The Anime ID\n * @returns A JikanUniqueResponse with AnimeVideo data\n */\n public async getAnimeVideos(mal_id: number): Promise<JikanUniqueResponse<AnimeVideo>> {\n return new Promise<JikanUniqueResponse<AnimeVideo>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeVideos.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanUniqueResponse<AnimeVideo>>(endpoint)\n .then((response: CacheAxiosResponse<JikanUniqueResponse<AnimeVideo>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Episode Videos related to a specific Anime\n * @param mal_id The Anime ID\n * @returns A JikanResponse with AnimeVideoEpisode data\n */\n public async getAnimeVideosEpisode(mal_id: number): Promise<JikanResponse<AnimeVideoEpisode>> {\n return new Promise<JikanResponse<AnimeVideoEpisode>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeVideosEpisodes.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<AnimeVideoEpisode>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<AnimeVideoEpisode>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Pictures related to a specific Anime\n * @param mal_id The Anime ID\n * @returns A JikanResponse with AnimePicture data\n */\n public async getAnimePictures(mal_id: number): Promise<JikanResponse<AnimePicture>> {\n return new Promise<JikanResponse<AnimePicture>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimePictures.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<AnimePicture>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<AnimePicture>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Statistics related to a specific Anime\n * @param mal_id The Anime ID\n * @returns A JikanUniqueResponse with AnimeStatistics data\n */\n public async getAnimeStatistics(mal_id: number): Promise<JikanUniqueResponse<AnimeStatistics>> {\n return new Promise<JikanUniqueResponse<AnimeStatistics>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeStatistics.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanUniqueResponse<AnimeStatistics>>(endpoint)\n .then((response: CacheAxiosResponse<JikanUniqueResponse<AnimeStatistics>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Recommendations related to a specific Anime\n * @param mal_id The Anime ID\n * @returns A JikanResponse with Recommendation data\n */\n public async getAnimeRecommendation(mal_id: number): Promise<JikanResponse<Recommendation>> {\n return new Promise<JikanResponse<Recommendation>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeRecommendations.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<Recommendation>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<Recommendation>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n}\n","import { BaseClient, ClientArgs } from './base.client';\nimport { MangaEndpoints } from '../constants';\nimport { CacheAxiosResponse } from 'axios-cache-interceptor';\nimport { AxiosError } from 'axios';\nimport {\n CommonCharacter,\n JikanImages,\n JikanResponse,\n JikanUniqueResponse,\n Manga,\n MangaStatistics,\n Recommendation,\n} from '../models';\nimport { MangaSearchParams } from '../models/Params';\n\n/**\n * **Manga Client**\n *\n * Client used to access the Manga Endpoints:\n * - [MangaSearch](https://docs.api.jikan.moe/#tag/manga)\n * - [MangaFullById](https://docs.api.jikan.moe/#tag/manga/operation/getMangaFullById)\n * - [MangaById](https://docs.api.jikan.moe/#tag/manga/operation/getMangaById)\n * - [MangaCharacters](https://docs.api.jikan.moe/#tag/manga/operation/getMangaCharacters)\n * - [MangaPictures](https://docs.api.jikan.moe/#tag/manga/operation/getMangaPictures)\n * - [MangaStatistics](https://docs.api.jikan.moe/#tag/manga/operation/getMangaStatistics)\n * - [MangaRecommendations](https://docs.api.jikan.moe/#tag/manga/operation/getMangaRecommendations)\n *\n * See also: [JikanAPI Documentation](https://docs.api.jikan.moe/)\n */\nexport class MangaClient extends BaseClient {\n /**\n * @argument clientOptions Options for the client.\n */\n constructor(clientOptions?: ClientArgs) {\n super(clientOptions);\n }\n\n /**\n * Get all the filtered Mangas. Returns all the Mangas if no filters are given.\n * @param searchParams Filter parameters\n * @returns A JikanResponse with Manga data\n */\n public async getMangaSearch(searchParams: MangaSearchParams): Promise<JikanResponse<Manga>> {\n return new Promise<JikanResponse<Manga>>((resolve, reject) => {\n const endpoint = `${MangaEndpoints.MangaSearch}`;\n this.api\n .get<JikanResponse<Manga>>(endpoint, { params: searchParams })\n .then((response: CacheAxiosResponse<JikanResponse<Manga>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get a Manga with full information by its ID\n * @param mal_id The Manga ID\n * @returns A JikanUniqueResponse with Manga data\n */\n public async getMangaFullById(mal_id: number): Promise<JikanUniqueResponse<Manga>> {\n return new Promise<JikanUniqueResponse<Manga>>((resolve, reject) => {\n const endpoint = `${MangaEndpoints.MangaFullById.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanUniqueResponse<Manga>>(endpoint)\n .then((response: CacheAxiosResponse<JikanUniqueResponse<Manga>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get a Manga by its ID\n * @param mal_id The Manga ID\n * @returns A JikanUniqueResponse with Manga data\n */\n public async getMangaById(mal_id: number): Promise<JikanUniqueResponse<Manga>> {\n return new Promise<JikanUniqueResponse<Manga>>((resolve, reject) => {\n const endpoint = `${MangaEndpoints.MangaById.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanUniqueResponse<Manga>>(endpoint)\n .then((response: CacheAxiosResponse<JikanUniqueResponse<Manga>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Characters of a specific Manga\n * @param mal_id The Manga ID\n * @returns A JikanResponse with CommonCharacter data\n */\n public async getMangaCharacters(mal_id: number): Promise<JikanResponse<CommonCharacter>> {\n return new Promise<JikanResponse<CommonCharacter>>((resolve, reject) => {\n const endpoint = `${MangaEndpoints.MangaCharacters.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<CommonCharacter>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<CommonCharacter>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Pictures related to a specific Manga\n * @param mal_id The Manga ID\n * @returns A JikanResponse with JikanImages data\n */\n public async getMangaPictures(mal_id: number): Promise<JikanResponse<JikanImages>> {\n return new Promise<JikanResponse<JikanImages>>((resolve, reject) => {\n const endpoint = `${MangaEndpoints.MangaPictures.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<JikanImages>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<JikanImages>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Statistics related to a specific Manga\n * @param mal_id The Manga ID\n * @returns A JikanUniqueResponse with MangaStatistics data\n */\n public async getAnimeStatistics(mal_id: number): Promise<JikanUniqueResponse<MangaStatistics>> {\n return new Promise<JikanUniqueResponse<MangaStatistics>>((resolve, reject) => {\n const endpoint = `${MangaEndpoints.MangaStatistics.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanUniqueResponse<MangaStatistics>>(endpoint)\n .then((response: CacheAxiosResponse<JikanUniqueResponse<MangaStatistics>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Recommendations related to a specific Manga\n * @param mal_id The Manga ID\n * @returns A JikanResponse with Recommendation data\n */\n public async getMangaRecommendation(mal_id: number): Promise<JikanResponse<Recommendation>> {\n return new Promise<JikanResponse<Recommendation>>((resolve, reject) => {\n const endpoint = `${MangaEndpoints.MangaRecommendations.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<Recommendation>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<Recommendation>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n}\n","import { BaseClient, ClientArgs } from './base.client';\nimport { AnimeClient } from './anime.client';\nimport { MangaClient } from './manga.client';\nimport { TopClient } from './top.client';\n\n/**\n * **Jikan Client**\n *\n * The main client used to access all the JikanAPI Endpoints:\n * - [Anime](https://docs.api.jikan.moe/#tag/anime)\n * - [Manga](https://docs.api.jikan.moe/#tag/manga)\n * - [Top](https://docs.api.jikan.moe/#tag/top)\n *\n * See also: [JikanAPI Documentation](https://docs.api.jikan.moe/)\n */\nexport class JikanClient extends BaseClient {\n public anime: AnimeClient;\n public manga: MangaClient;\n public top: TopClient;\n\n constructor(clientOptions?: ClientArgs) {\n super(clientOptions);\n\n this.anime = new AnimeClient(clientOptions);\n this.manga = new MangaClient(clientOptions);\n this.top = new TopClient(clientOptions);\n }\n}\n","import { BaseClient, ClientArgs } from './base.client';\nimport { Anime, JikanResponse, Manga } from '../models';\nimport { TopEndpoints } from '../constants';\nimport { CacheAxiosResponse } from 'axios-cache-interceptor';\nimport { AxiosError } from 'axios';\nimport { AnimeTopParams, MangaTopParams } from '../models/Params';\n\n/**\n * **Anime Client**\n *\n * Client used to access the Top Endpoints:\n * - [TopAnime](https://docs.api.jikan.moe/#tag/top/operation/getTopAnime)\n * - [TopManga](https://docs.api.jikan.moe/#tag/top/operation/getTopManga)\n *\n * See also: [JikanAPI Documentation](https://docs.api.jikan.moe/)\n */\nexport class TopClient extends BaseClient {\n /**\n * @argument clientOptions Options for the client.\n */\n constructor(clientOptions?: ClientArgs) {\n super(clientOptions);\n }\n\n /**\n * Get the top Animes\n * @returns A JikanResponse with Anime data\n */\n public async getTopAnime(searchParams: AnimeTopParams): Promise<JikanResponse<Anime>> {\n return new Promise<JikanResponse<Anime>>((resolve, reject) => {\n const endpoint = `${TopEndpoints.TopAnime}`;\n this.api\n .get<JikanResponse<Anime>>(endpoint, { params: searchParams })\n .then((response: CacheAxiosResponse<JikanResponse<Anime>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get the top Mangas\n * @returns A JikanResponse with Manga data\n */\n public async getTopManga(searchParams: MangaTopParams): Promise<JikanResponse<Manga>> {\n return new Promise<JikanResponse<Manga>>((resolve, reject) => {\n const endpoint = `${TopEndpoints.TopManga}`;\n this.api\n .get<JikanResponse<Manga>>(endpoint, { params: searchParams })\n .then((response: CacheAxiosResponse<JikanResponse<Manga>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n}\n","export * from './Anime';\nexport * from './Common';\nexport * from './Manga';\nexport * from './Response';\nexport * from './Params';\n","export * from './anime.model';\r\nexport * from './anime-character.model';\r\nexport * from './anime-staff.model';\r\nexport * from './anime-episode.model';\r\nexport * from './anime-video.model';\r\nexport * from './anime-picture.model';\r\nexport * from './anime-statistics.model';\r\n","import {\n JikanImages,\n JikanNamedResource,\n JikanResourcePeriod,\n JikanResourceRelation,\n JikanResourceTitle,\n JikanUniqueResource,\n} from '../Common';\nimport { AnimeYoutubeVideo } from './anime-video.model';\n\nexport interface Anime {\n mal_id: string;\n url: string;\n images: JikanImages;\n trailer: AnimeYoutubeVideo;\n approved: boolean;\n titles: JikanResourceTitle[];\n title: string;\n title_english: string;\n title_japanese: string;\n title_synonyms: string[];\n type: AnimeType;\n source: string;\n episodes: number;\n status: AnimeStatus;\n airing: boolean;\n aired: JikanResourcePeriod;\n duration: string;\n rating: AnimeRating;\n score: number;\n scored_by: number;\n rank: number;\n popularity: number;\n members: number;\n favorites: number;\n synopsis: string;\n background: string;\n season?: AnimeSeason;\n year: number;\n broadcast: AnimeBroadcast;\n producers: JikanUniqueResource[];\n licensors: JikanUniqueResource[];\n studio: JikanUniqueResource[];\n genres: JikanUniqueResource[];\n explicit_genres: JikanUniqueResource[];\n themes: JikanUniqueResource[];\n demographic: JikanUniqueResource[];\n relations?: JikanResourceRelation[];\n theme?: AnimeTheme;\n external?: JikanNamedResource[];\n streaming: JikanNamedResource[];\n}\n\nexport interface AnimeBroadcast {\n day: string;\n time: string;\n timezone: string;\n string: string;\n}\n\nexport interface AnimeTheme {\n openings: string[];\n endings: string[];\n}\n\nexport enum AnimeType {\n tv = 'TV',\n movie = 'Movie',\n ova = 'Ova',\n special = 'Special',\n ona = 'Ona',\n music = 'Music',\n}\n\nexport enum AnimeStatus {\n finished = 'Finished Airing',\n airing = 'Currently Airing',\n complete = 'Complete',\n}\n\nexport enum AnimeRating {\n g = 'g',\n pg = 'pg',\n pg13 = 'pg13',\n r17 = 'r17',\n r = 'r',\n rx = 'rx',\n}\n\nexport enum AnimeSeason {\n spring = 'spring',\n summer = 'summer',\n fall = 'fall',\n winter = 'winter',\n}\n","import { CommonCharacter } from '../Common/character.model';\r\nimport { JikanPerson } from '../Common/person.model';\r\n\r\nexport interface AnimeCharacter extends CommonCharacter {\r\n voice_actors: AnimeCharacterVoiceActor[];\r\n}\r\n\r\nexport interface AnimeCharacterVoiceActor {\r\n person: JikanPerson;\r\n language: string;\r\n}\r\n","import { JikanPerson } from '../Common';\r\n\r\nexport interface AnimeStaff {\r\n person: JikanPerson;\r\n positions: string[];\r\n}\r\n","export interface AnimeEpisode {\r\n mal_id: number;\r\n url: string;\r\n title: string;\r\n title_japanese: string;\r\n title_romanji: string;\r\n duration: number;\r\n aired: string;\r\n filler: boolean;\r\n recap: boolean;\r\n forum_url: string;\r\n}\r\n","import { JikanImages, JikanImagesCollection } from '../Common';\r\n\r\nexport interface AnimeVideo {\r\n promo: AnimeVideoPromo[];\r\n episodes: AnimeVideoEpisode[];\r\n music_videos: AnimeMusicVideo[];\r\n}\r\n\r\nexport interface AnimeVideoPromo {\r\n title: string;\r\n trailer: AnimeYoutubeVideo;\r\n}\r\n\r\nexport interface AnimeYoutubeVideo {\r\n youtube_id: string;\r\n url: string;\r\n embed_url: string;\r\n images?: JikanImagesCollection;\r\n}\r\n\r\nexport interface AnimeVideoEpisode {\r\n mal_id: number;\r\n url: string;\r\n title: string;\r\n episode: string;\r\n images: JikanImages;\r\n}\r\n\r\nexport interface AnimeMusicVideo {\r\n title: string;\r\n video: AnimeYoutubeVideo;\r\n meta: AnimeVideoMeta;\r\n}\r\n\r\nexport interface AnimeVideoMeta {\r\n title: string;\r\n author: string;\r\n}\r\n","import { JikanImages } from '../Common';\r\n\r\nexport interface AnimePicture {\r\n images: JikanImages;\r\n}\r\n","import { Statistics } from '../Common';\n\nexport interface AnimeStatistics extends Statistics {\n watching: number;\n plan_to_watch: number;\n}\n","export * from './resource.model';\r\nexport * from './image.model';\r\nexport * from './character.model';\r\nexport * from './person.model';\r\nexport * from './recommendation.model';\r\nexport * from './statistics.model';\r\n","export interface JikanUniqueResource {\n mal_id: number;\n type: string;\n name: string;\n url: string;\n}\n\nexport interface JikanNamedResource {\n name: string;\n url: string;\n}\n\nexport interface JikanResourceTitle {\n type: string;\n title: string;\n}\n\nexport interface JikanResourcePeriod {\n from: string;\n to: string;\n prop: {\n form: { day: number; month: number; year: number };\n to: { day: number; month: number; year: number };\n string: string;\n };\n}\n\nexport interface JikanResourceRelation {\n relation: string;\n entry: JikanUniqueResource[];\n}\n","export interface JikanImages {\r\n jpg: JikanImagesCollection;\r\n webp?: JikanImagesCollection;\r\n}\r\n\r\nexport interface JikanImagesCollection {\r\n image_url: string;\r\n small_image_url?: string;\r\n medium_image_url?: string;\r\n large_image_url?: string;\r\n maximum_image_url?: string;\r\n}\r\n","import { JikanImages } from './image.model';\n\nexport interface CommonCharacter {\n character: CommonCharacterData;\n role: CharacterRole;\n}\n\nexport interface CommonCharacterData {\n mal_id: number;\n url: string;\n images: JikanImages;\n name: string;\n}\n\nexport enum CharacterRole {\n main = 'Main',\n supporting = 'Supporting',\n}\n","import { JikanImages } from './image.model';\r\n\r\nexport interface JikanPerson {\r\n mal_id: number;\r\n url: string;\r\n images: JikanImages;\r\n name: string;\r\n}\r\n","import { JikanImages } from './image.model';\r\n\r\nexport interface Recommendation {\r\n entry: RecommendationEntry;\r\n}\r\n\r\nexport interface RecommendationEntry {\r\n mal_id: number;\r\n url: string;\r\n images: JikanImages;\r\n title: string;\r\n}\r\n","export interface Statistics {\r\n completed: number;\r\n on_hold: number;\r\n dropped: number;\r\n total: number;\r\n scores: StatisticsScore[];\r\n}\r\n\r\nexport interface StatisticsScore {\r\n score: number;\r\n votes: number;\r\n percentage: number;\r\n}\r\n","export * from './manga.model';\nexport * from './manga-statistics.model';\n","import {\n JikanImages,\n JikanNamedResource,\n JikanResourcePeriod,\n JikanResourceRelation,\n JikanResourceTitle,\n JikanUniqueResource,\n} from '../Common';\n\nexport interface Manga {\n mal_id: number;\n url: string;\n images: JikanImages;\n approved: boolean;\n titles: JikanResourceTitle[];\n title: string;\n title_japanese: string;\n title_synonyms?: string[];\n type: MangaType;\n chapters: number;\n volumes: number;\n status: MangaStatus;\n publishing: boolean;\n published: JikanResourcePeriod;\n score: number;\n scored_by: number;\n rank: number;\n popularity: number;\n members: number;\n favorites: number;\n synopsis: string;\n background: string;\n authors: JikanUniqueResource[];\n serializations: JikanUniqueResource[];\n explicit_genres: JikanUniqueResource[];\n themes: JikanUniqueResource[];\n demographics: JikanUniqueResource[];\n relations?: JikanResourceRelation[];\n external?: JikanNamedResource[];\n}\n\nexport enum MangaType {\n manga = 'Manga',\n novel = 'Novel',\n lightnovel = 'Lightnovel',\n oneshot = 'Oneshot',\n doujin = 'Doujin',\n manwha = 'Manwha',\n manhua = 'Manhua',\n}\n\nexport enum MangaStatus {\n publishing = 'Publishing',\n complete = 'Complete',\n hiatus = 'Hiatus',\n discontinued = 'Discontinued',\n upcoming = 'Upcoming',\n}\n","import { Statistics } from '../Common';\n\nexport interface MangaStatistics extends Statistics {\n reading: number;\n plan_to_read: number;\n}\n","export * from './response.model';\r\n","export interface JikanPagination {\r\n last_visible_page: number;\r\n has_next_page: boolean;\r\n items?: JikanPaginationItems;\r\n}\r\n\r\nexport interface JikanPaginationItems {\r\n count: number;\r\n total: number;\r\n per_page: number;\r\n}\r\n\r\nexport interface JikanResponse<T> {\r\n data: T[];\r\n pagination?: JikanPagination;\r\n}\r\n\r\nexport interface JikanUniqueResponse<T> {\r\n data: T;\r\n pagination?: JikanPagination;\r\n}\r\n","export * from './search-params.model';\nexport * from './top-params.model';\n","import { MangaStatus, MangaType } from '../Manga';\nimport { AnimeRating, AnimeStatus, AnimeType } from '../Anime';\n\nexport enum SortOptions {\n asc = 'asc',\n desc = 'desc',\n}\n\nexport enum SearchOrder {\n mal_id = 'mal_id',\n title = 'title',\n start_date = 'start_date',\n end_date = 'end_date',\n score = 'score',\n scored_by = 'scored_by',\n rank = 'rank',\n popularity = 'popularity',\n members = 'members',\n favorites = 'favorites',\n}\n\nexport enum AnimeSearchOrder {\n type = 'type',\n rating = 'rating',\n episodes = 'episodes',\n}\n\nexport enum MangaSearchOrder {\n chapters = 'chapters',\n volumes = 'volumes',\n}\n\nexport interface JikanSearchParams {\n q?: string;\n page?: number;\n limit?: number;\n score?: number;\n min_score?: number;\n max_score?: number;\n sfw?: boolean;\n genres?: string;\n genres_exclude?: string;\n sort?: SortOptions | string;\n letter?: string;\n producers?: string;\n start_date?: string;\n end_date?: string;\n}\n\n/**\n * QueryParams used in **getMangaSearch** call\n *\n * See also: [Jikan API Documentation](https://docs.api.jikan.moe/#tag/manga/operation/getMangaSearch)\n */\nexport interface MangaSearchParams extends JikanSearchParams {\n type?: MangaType | string;\n status?: MangaStatus | string;\n order_by?: MangaSearchOrder | SearchOrder | string;\n magazines?: string;\n}\n\n/**\n * QueryParams used in **getAnimeSearch** call\n *\n * See also: [Jikan API Documentation](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeSearch)\n */\nexport interface AnimeSearchParams extends JikanSearchParams {\n type?: AnimeType | string;\n status?: AnimeStatus | string;\n rating?: AnimeRating | string;\n order_by?: AnimeSearchOrder | SearchOrder | string;\n}\n","import { AnimeType } from '../Anime';\nimport { MangaType } from '../Manga';\n\nexport enum TopAnimeFilter {\n airing = 'airing',\n upcoming = 'upcoming',\n bypopularity = 'bypopularity',\n favorite = 'favorite',\n}\n\nexport enum TopMangaFilter {\n publishing = 'publishing',\n upcoming = 'upcoming',\n bypopularity = 'bypopularity',\n favorite = 'favorite',\n}\n\nexport interface JikanTopParams {\n page?: number;\n limit?: number;\n}\n\n/**\n * QueryParams used in **getTopAnime** call\n *\n * See also: [Jikan API Documentation](https://docs.api.jikan.moe/#tag/top/operation/getTopAnime)\n */\nexport interface AnimeTopParams extends JikanTopParams {\n type?: AnimeType;\n filter?: TopAnimeFilter;\n}\n\n/**\n * QueryParams used in **getTopManga** call\n *\n * See also: [Jikan API Documentation](https://docs.api.jikan.moe/#tag/top/operation/getTopManga)\n */\nexport interface MangaTopParams extends JikanTopParams {\n type?: MangaType;\n filter: TopMangaFilter;\n}\n"],"names":[],"version":3,"file":"index.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["src/index.ts","src/clients/index.ts","src/clients/base.client.ts","src/constants/index.ts","src/constants/base.constant.ts","src/constants/endpoints.constant.ts","src/config/index.ts","src/config/cache.config.ts","src/config/logger.config.ts","src/clients/anime.client.ts","src/clients/manga.client.ts","src/clients/jikan.client.ts","src/clients/top.client.ts","src/models/index.ts","src/models/Anime/index.ts","src/models/Anime/anime.model.ts","src/models/Anime/anime-character.model.ts","src/models/Anime/anime-staff.model.ts","src/models/Anime/anime-episode.model.ts","src/models/Anime/anime-video.model.ts","src/models/Anime/anime-picture.model.ts","src/models/Anime/anime-statistics.model.ts","src/models/Common/index.ts","src/models/Common/resource.model.ts","src/models/Common/image.model.ts","src/models/Common/character.model.ts","src/models/Common/person.model.ts","src/models/Common/recommendation.model.ts","src/models/Common/statistics.model.ts","src/models/Manga/index.ts","src/models/Manga/manga.model.ts","src/models/Manga/manga-statistics.model.ts","src/models/Response/index.ts","src/models/Response/response.model.ts","src/models/Params/index.ts","src/models/Params/search-params.model.ts","src/models/Params/top-params.model.ts"],"sourcesContent":["export * from './clients';\r\nexport * from './config';\r\nexport * from './constants';\r\nexport * from './models';\r\n","export * from './base.client';\r\nexport * from './anime.client';\r\nexport * from './manga.client';\r\nexport * from './jikan.client';\r\n","import { Logger, LoggerOptions } from 'pino';\r\nimport {\r\n AxiosCacheInstance,\r\n CacheAxiosResponse,\r\n CacheOptions,\r\n CacheRequestConfig,\r\n setupCache,\r\n} from 'axios-cache-interceptor';\r\nimport axios, { AxiosError } from 'axios';\r\nimport { BaseURL } from '../constants';\r\nimport {\r\n createLogger,\r\n DEFAULT_CACHE_OPTIONS,\r\n handleRequest,\r\n handleRequestError,\r\n handleResponse,\r\n handleResponseError,\r\n} from '../config';\r\n\r\n/**\r\n * **Client Args**\r\n * Used to pass optional configuration for logging and cache to the clients.\r\n */\r\nexport interface ClientArgs {\r\n /**\r\n * **Logger Options**\r\n * Options for the client logger.\r\n * @see https://getpino.io/#/docs/api?id=options\r\n */\r\n logOptions?: LoggerOptions;\r\n /**\r\n * **Axios Cache Options**\r\n * Options for cache.\r\n * @see https://axios-cache-interceptor.js.org/#/pages/configuration\r\n */\r\n cacheOptions?: CacheOptions;\r\n /**\r\n * **Base URL**\r\n * Location of the JikanAPI. Leave empty to use the official JikanAPI instance.\r\n */\r\n baseURL?: string;\r\n}\r\n\r\n/**\r\n * **Base Client** This client is responsible for creating an Axios Instance and the cache and logging configurations\r\n */\r\nexport abstract class BaseClient {\r\n public api: AxiosCacheInstance;\r\n public logger: Logger;\r\n\r\n constructor(clientOptions?: ClientArgs) {\r\n this.api = setupCache(\r\n axios.create({\r\n baseURL: clientOptions?.baseURL ?? BaseURL.REST,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n }),\r\n {\r\n storage: clientOptions?.cacheOptions?.storage ?? DEFAULT_CACHE_OPTIONS.storage,\r\n generateKey: clientOptions?.cacheOptions?.generateKey ?? DEFAULT_CACHE_OPTIONS.generateKey,\r\n headerInterpreter: clientOptions?.cacheOptions?.headerInterpreter ?? DEFAULT_CACHE_OPTIONS.headerInterpreter,\r\n debug: clientOptions?.cacheOptions?.debug ?? DEFAULT_CACHE_OPTIONS.debug,\r\n }\r\n );\r\n\r\n this.logger = createLogger({\r\n enabled: !(clientOptions?.logOptions?.enabled === undefined || clientOptions?.logOptions.enabled === false),\r\n ...clientOptions?.logOptions,\r\n });\r\n\r\n this.api.interceptors.request.use(\r\n (config: CacheRequestConfig) => handleRequest(config, this.logger),\r\n (error: AxiosError<string>) => handleRequestError(error, this.logger)\r\n );\r\n\r\n this.api.interceptors.response.use(\r\n (response: CacheAxiosResponse) => handleResponse(response, this.logger),\r\n (error: AxiosError<string>) => handleResponseError(error, this.logger)\r\n );\r\n }\r\n}\r\n","export * from './base.constant';\r\nexport * from './endpoints.constant';\r\n","export enum BaseURL {\r\n REST = 'https://api.jikan.moe/v4',\r\n}\r\n","export enum AnimeEndpoints {\n AnimeSearch = '/anime',\n AnimeFullById = '/anime/{id}/full',\n AnimeById = '/anime/{id}',\n AnimeCharacters = '/anime/{id}/characters',\n AnimeStaff = '/anime/{id}/staff',\n AnimeEpisodes = '/anime/{id}/episodes',\n AnimeEpisodeById = '/anime/{id}/episodes/{episode}',\n AnimeVideos = '/anime/{id}/videos',\n AnimeVideosEpisodes = '/anime/{id}/videos/episodes',\n AnimePictures = '/anime/{id}/pictures',\n AnimeStatistics = '/anime/{id}/statistics',\n AnimeRecommendations = '/anime/{id}/recommendations',\n}\n\nexport enum MangaEndpoints {\n MangaSearch = '/manga',\n MangaFullById = '/manga/{id}/full',\n MangaById = '/manga/{id}',\n MangaCharacters = '/manga/{id}/characters',\n MangaPictures = '/manga/{id}/pictures',\n MangaStatistics = '/manga/{id}/statistics',\n MangaRecommendations = '/manga/{id}/recommendations',\n}\n\nexport enum TopEndpoints {\n TopAnime = '/top/anime',\n TopManga = '/top/manga',\n}\n","export * from './cache.config';\r\nexport * from './logger.config';\r\n","import { buildMemoryStorage, defaultHeaderInterpreter, defaultKeyGenerator } from 'axios-cache-interceptor';\r\n\r\nexport const DEFAULT_CACHE_OPTIONS = {\r\n storage: buildMemoryStorage(),\r\n generateKey: defaultKeyGenerator,\r\n headerInterpreter: defaultHeaderInterpreter,\r\n debug: undefined,\r\n};\r\n","import pino from 'pino';\nimport { AxiosError } from 'axios';\nimport { CacheAxiosResponse, CacheRequestConfig } from 'axios-cache-interceptor';\n\nexport const createLogger = (options?: pino.LoggerOptions | pino.DestinationStream): pino.Logger =>\n pino({ enabled: true });\n\nexport const handleRequest = (config: CacheRequestConfig, logger: pino.Logger): CacheRequestConfig => {\n logger.info(`[ Request Config ] ${config.method?.toUpperCase() || ''} | ${config.url || ''}`);\n return config;\n};\n\nexport const handleRequestError = (error: AxiosError, logger: pino.Logger): Promise<AxiosError> => {\n logger.error(`[ Request Error] CODE ${error.code || 'UNKNOWN'} | ${error.message}`);\n throw error;\n};\n\nexport const handleResponse = (response: CacheAxiosResponse, logger: pino.Logger): CacheAxiosResponse => {\n logger.info(response.data);\n return response;\n};\n\nexport const handleResponseError = (error: AxiosError, logger: pino.Logger): Promise<AxiosError> => {\n logger.error(`[ Response Error ] CODE ${error.code || 'UNKNOWN'} | ${error.message}`);\n throw error;\n};\n","import { BaseClient, ClientArgs } from './base.client';\nimport { AnimeEndpoints } from '../constants';\nimport { CacheAxiosResponse } from 'axios-cache-interceptor';\nimport { AxiosError } from 'axios';\nimport {\n Anime,\n AnimeCharacter,\n AnimeEpisode,\n AnimePicture,\n AnimeSearchParams,\n AnimeStaff,\n AnimeStatistics,\n AnimeVideo,\n AnimeVideoEpisode,\n JikanResponse,\n JikanUniqueResponse,\n Recommendation,\n} from '../models';\n\n/**\n * **Anime Client**\n *\n * Client used to access the Anime Endpoints:\n * - [AnimeSearch](https://docs.api.jikan.moe/#tag/anime)\n * - [AnimeFullById](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeFullById)\n * - [AnimeById](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeById)\n * - [AnimeCharacters](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeCharacters)\n * - [AnimeStaff](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeStaff)\n * - [AnimeEpisodes](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeEpisodes)\n * - [AnimeEpisodeById](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeEpisodeById)\n * - [AnimeVideos](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeVideos)\n * - [AnimeVideosEpisodes](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeVideosEpisodes)\n * - [AnimePictures](https://docs.api.jikan.moe/#tag/anime/operation/getAnimePictures)\n * - [AnimeStatistics](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeStatistics)\n * - [AnimeRecommendations](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeRecommendations)\n *\n * See also: [JikanAPI](https://docs.api.jikan.moe/)\n */\nexport class AnimeClient extends BaseClient {\n /**\n * @argument clientOptions Options for the client.\n */\n constructor(clientOptions?: ClientArgs) {\n super(clientOptions);\n }\n\n /**\n * Get all the filtered Animes. Returns all the Animes if no filters are given.\n * @param searchParams Filter parameters\n * @returns A JikanResponse with Anime data\n */\n public async getAnimeSearch(searchParams?: AnimeSearchParams): Promise<JikanResponse<Anime>> {\n return new Promise<JikanResponse<Anime>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeSearch}`;\n this.api\n .get<JikanResponse<Anime>>(endpoint, { params: searchParams })\n .then((response: CacheAxiosResponse<JikanResponse<Anime>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get a complete Anime resource data\n * @param mal_id The Anime ID\n * @returns A JikanUniqueResponse with Anime data\n */\n public async getAnimeFullById(mal_id: number): Promise<JikanUniqueResponse<Anime>> {\n return new Promise<JikanUniqueResponse<Anime>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeFullById.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanUniqueResponse<Anime>>(endpoint)\n .then((response: CacheAxiosResponse<JikanUniqueResponse<Anime>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Anime resource data\n * @param mal_id The Anime ID\n * @returns A JikanUniqueResponse with Anime data\n */\n public async getAnimeById(mal_id: number): Promise<JikanUniqueResponse<Anime>> {\n return new Promise<JikanUniqueResponse<Anime>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeById.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanUniqueResponse<Anime>>(endpoint)\n .then((response: CacheAxiosResponse<JikanUniqueResponse<Anime>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Characters of a specific Anime\n * @param mal_id The Anime ID\n * @returns A JikanResponse with AnimeCharacter data\n */\n public async getAnimeCharacters(mal_id: number): Promise<JikanResponse<AnimeCharacter>> {\n return new Promise<JikanResponse<AnimeCharacter>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeCharacters.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<AnimeCharacter>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<AnimeCharacter>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Staff of a specific Anime\n * @param mal_id The Anime ID\n * @returns A JikanResponse with AnimeStaff data\n */\n public async getAnimeStaff(mal_id: number): Promise<JikanResponse<AnimeStaff>> {\n return new Promise<JikanResponse<AnimeStaff>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeStaff.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<AnimeStaff>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<AnimeStaff>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get a list of all the episodes of a specific Anime\n * @param mal_id The Anime ID\n * @returns A JikanResponse with AnimeEpisode data\n */\n public async getAnimeEpisodes(mal_id: number): Promise<JikanResponse<AnimeEpisode>> {\n return new Promise<JikanResponse<AnimeEpisode>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeEpisodes.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<AnimeEpisode>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<AnimeEpisode>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get a single Episode of a specific Anime by its ID\n * @param anime_mal_id The Anime ID\n * @param episode_mal_id The Episode ID\n * @returns A JikanUniqueResponse with AnimeEpisode data\n */\n public async getAnimeEpisodeById(\n anime_mal_id: number,\n episode_mal_id: number\n ): Promise<JikanUniqueResponse<AnimeEpisode>> {\n return new Promise<JikanUniqueResponse<AnimeEpisode>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeEpisodeById.replace('{id}', String(anime_mal_id)).replace(\n '{episode}',\n String(episode_mal_id)\n )}`;\n this.api\n .get<JikanUniqueResponse<AnimeEpisode>>(endpoint)\n .then((response: CacheAxiosResponse<JikanUniqueResponse<AnimeEpisode>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Videos related to a specific Anime\n * @param mal_id The Anime ID\n * @returns A JikanUniqueResponse with AnimeVideo data\n */\n public async getAnimeVideos(mal_id: number): Promise<JikanUniqueResponse<AnimeVideo>> {\n return new Promise<JikanUniqueResponse<AnimeVideo>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeVideos.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanUniqueResponse<AnimeVideo>>(endpoint)\n .then((response: CacheAxiosResponse<JikanUniqueResponse<AnimeVideo>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Episode Videos related to a specific Anime\n * @param mal_id The Anime ID\n * @returns A JikanResponse with AnimeVideoEpisode data\n */\n public async getAnimeVideosEpisode(mal_id: number): Promise<JikanResponse<AnimeVideoEpisode>> {\n return new Promise<JikanResponse<AnimeVideoEpisode>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeVideosEpisodes.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<AnimeVideoEpisode>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<AnimeVideoEpisode>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Pictures related to a specific Anime\n * @param mal_id The Anime ID\n * @returns A JikanResponse with AnimePicture data\n */\n public async getAnimePictures(mal_id: number): Promise<JikanResponse<AnimePicture>> {\n return new Promise<JikanResponse<AnimePicture>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimePictures.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<AnimePicture>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<AnimePicture>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Statistics related to a specific Anime\n * @param mal_id The Anime ID\n * @returns A JikanUniqueResponse with AnimeStatistics data\n */\n public async getAnimeStatistics(mal_id: number): Promise<JikanUniqueResponse<AnimeStatistics>> {\n return new Promise<JikanUniqueResponse<AnimeStatistics>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeStatistics.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanUniqueResponse<AnimeStatistics>>(endpoint)\n .then((response: CacheAxiosResponse<JikanUniqueResponse<AnimeStatistics>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Recommendations related to a specific Anime\n * @param mal_id The Anime ID\n * @returns A JikanResponse with Recommendation data\n */\n public async getAnimeRecommendation(mal_id: number): Promise<JikanResponse<Recommendation>> {\n return new Promise<JikanResponse<Recommendation>>((resolve, reject) => {\n const endpoint = `${AnimeEndpoints.AnimeRecommendations.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<Recommendation>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<Recommendation>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n}\n","import { BaseClient, ClientArgs } from './base.client';\nimport { MangaEndpoints } from '../constants';\nimport { CacheAxiosResponse } from 'axios-cache-interceptor';\nimport { AxiosError } from 'axios';\nimport {\n CommonCharacter,\n JikanImages,\n JikanResponse,\n JikanUniqueResponse,\n Manga,\n MangaSearchParams,\n MangaStatistics,\n Recommendation,\n} from '../models';\n\n/**\n * **Manga Client**\n *\n * Client used to access the Manga Endpoints:\n * - [MangaSearch](https://docs.api.jikan.moe/#tag/manga)\n * - [MangaFullById](https://docs.api.jikan.moe/#tag/manga/operation/getMangaFullById)\n * - [MangaById](https://docs.api.jikan.moe/#tag/manga/operation/getMangaById)\n * - [MangaCharacters](https://docs.api.jikan.moe/#tag/manga/operation/getMangaCharacters)\n * - [MangaPictures](https://docs.api.jikan.moe/#tag/manga/operation/getMangaPictures)\n * - [MangaStatistics](https://docs.api.jikan.moe/#tag/manga/operation/getMangaStatistics)\n * - [MangaRecommendations](https://docs.api.jikan.moe/#tag/manga/operation/getMangaRecommendations)\n *\n * See also: [JikanAPI Documentation](https://docs.api.jikan.moe/)\n */\nexport class MangaClient extends BaseClient {\n /**\n * @argument clientOptions Options for the client.\n */\n constructor(clientOptions?: ClientArgs) {\n super(clientOptions);\n }\n\n /**\n * Get all the filtered Mangas. Returns all the Mangas if no filters are given.\n * @param searchParams Filter parameters\n * @returns A JikanResponse with Manga data\n */\n public async getMangaSearch(searchParams?: MangaSearchParams): Promise<JikanResponse<Manga>> {\n return new Promise<JikanResponse<Manga>>((resolve, reject) => {\n const endpoint = `${MangaEndpoints.MangaSearch}`;\n this.api\n .get<JikanResponse<Manga>>(endpoint, { params: searchParams })\n .then((response: CacheAxiosResponse<JikanResponse<Manga>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get a Manga with full information by its ID\n * @param mal_id The Manga ID\n * @returns A JikanUniqueResponse with Manga data\n */\n public async getMangaFullById(mal_id: number): Promise<JikanUniqueResponse<Manga>> {\n return new Promise<JikanUniqueResponse<Manga>>((resolve, reject) => {\n const endpoint = `${MangaEndpoints.MangaFullById.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanUniqueResponse<Manga>>(endpoint)\n .then((response: CacheAxiosResponse<JikanUniqueResponse<Manga>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get a Manga by its ID\n * @param mal_id The Manga ID\n * @returns A JikanUniqueResponse with Manga data\n */\n public async getMangaById(mal_id: number): Promise<JikanUniqueResponse<Manga>> {\n return new Promise<JikanUniqueResponse<Manga>>((resolve, reject) => {\n const endpoint = `${MangaEndpoints.MangaById.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanUniqueResponse<Manga>>(endpoint)\n .then((response: CacheAxiosResponse<JikanUniqueResponse<Manga>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Characters of a specific Manga\n * @param mal_id The Manga ID\n * @returns A JikanResponse with CommonCharacter data\n */\n public async getMangaCharacters(mal_id: number): Promise<JikanResponse<CommonCharacter>> {\n return new Promise<JikanResponse<CommonCharacter>>((resolve, reject) => {\n const endpoint = `${MangaEndpoints.MangaCharacters.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<CommonCharacter>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<CommonCharacter>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Pictures related to a specific Manga\n * @param mal_id The Manga ID\n * @returns A JikanResponse with JikanImages data\n */\n public async getMangaPictures(mal_id: number): Promise<JikanResponse<JikanImages>> {\n return new Promise<JikanResponse<JikanImages>>((resolve, reject) => {\n const endpoint = `${MangaEndpoints.MangaPictures.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<JikanImages>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<JikanImages>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Statistics related to a specific Manga\n * @param mal_id The Manga ID\n * @returns A JikanUniqueResponse with MangaStatistics data\n */\n public async getAnimeStatistics(mal_id: number): Promise<JikanUniqueResponse<MangaStatistics>> {\n return new Promise<JikanUniqueResponse<MangaStatistics>>((resolve, reject) => {\n const endpoint = `${MangaEndpoints.MangaStatistics.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanUniqueResponse<MangaStatistics>>(endpoint)\n .then((response: CacheAxiosResponse<JikanUniqueResponse<MangaStatistics>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get Recommendations related to a specific Manga\n * @param mal_id The Manga ID\n * @returns A JikanResponse with Recommendation data\n */\n public async getMangaRecommendation(mal_id: number): Promise<JikanResponse<Recommendation>> {\n return new Promise<JikanResponse<Recommendation>>((resolve, reject) => {\n const endpoint = `${MangaEndpoints.MangaRecommendations.replace('{id}', String(mal_id))}`;\n this.api\n .get<JikanResponse<Recommendation>>(endpoint)\n .then((response: CacheAxiosResponse<JikanResponse<Recommendation>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n}\n","import { BaseClient, ClientArgs } from './base.client';\nimport { AnimeClient } from './anime.client';\nimport { MangaClient } from './manga.client';\nimport { TopClient } from './top.client';\n\n/**\n * **Jikan Client**\n *\n * The main client used to access all the JikanAPI Endpoints:\n * - [Anime](https://docs.api.jikan.moe/#tag/anime)\n * - [Manga](https://docs.api.jikan.moe/#tag/manga)\n * - [Top](https://docs.api.jikan.moe/#tag/top)\n *\n * See also: [JikanAPI Documentation](https://docs.api.jikan.moe/)\n */\nexport class JikanClient extends BaseClient {\n public anime: AnimeClient;\n public manga: MangaClient;\n public top: TopClient;\n\n constructor(clientOptions?: ClientArgs) {\n super(clientOptions);\n\n this.anime = new AnimeClient(clientOptions);\n this.manga = new MangaClient(clientOptions);\n this.top = new TopClient(clientOptions);\n }\n}\n","import { BaseClient, ClientArgs } from './base.client';\nimport { Anime, AnimeTopParams, JikanResponse, Manga, MangaTopParams } from '../models';\nimport { TopEndpoints } from '../constants';\nimport { CacheAxiosResponse } from 'axios-cache-interceptor';\nimport { AxiosError } from 'axios';\n\n/**\n * **Anime Client**\n *\n * Client used to access the Top Endpoints:\n * - [TopAnime](https://docs.api.jikan.moe/#tag/top/operation/getTopAnime)\n * - [TopManga](https://docs.api.jikan.moe/#tag/top/operation/getTopManga)\n *\n * See also: [JikanAPI Documentation](https://docs.api.jikan.moe/)\n */\nexport class TopClient extends BaseClient {\n /**\n * @argument clientOptions Options for the client.\n */\n constructor(clientOptions?: ClientArgs) {\n super(clientOptions);\n }\n\n /**\n * Get the top Animes\n * @returns A JikanResponse with Anime data\n */\n public async getTopAnime(searchParams?: AnimeTopParams): Promise<JikanResponse<Anime>> {\n return new Promise<JikanResponse<Anime>>((resolve, reject) => {\n const endpoint = `${TopEndpoints.TopAnime}`;\n this.api\n .get<JikanResponse<Anime>>(endpoint, { params: searchParams })\n .then((response: CacheAxiosResponse<JikanResponse<Anime>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n\n /**\n * Get the top Mangas\n * @returns A JikanResponse with Manga data\n */\n public async getTopManga(searchParams?: MangaTopParams): Promise<JikanResponse<Manga>> {\n return new Promise<JikanResponse<Manga>>((resolve, reject) => {\n const endpoint = `${TopEndpoints.TopManga}`;\n this.api\n .get<JikanResponse<Manga>>(endpoint, { params: searchParams })\n .then((response: CacheAxiosResponse<JikanResponse<Manga>>) => resolve(response.data))\n .catch((error: AxiosError<string>) => reject(error));\n });\n }\n}\n","export * from './Anime';\nexport * from './Common';\nexport * from './Manga';\nexport * from './Response';\nexport * from './Params';\n","export * from './anime.model';\r\nexport * from './anime-character.model';\r\nexport * from './anime-staff.model';\r\nexport * from './anime-episode.model';\r\nexport * from './anime-video.model';\r\nexport * from './anime-picture.model';\r\nexport * from './anime-statistics.model';\r\n","import {\n JikanImages,\n JikanNamedResource,\n JikanResourcePeriod,\n JikanResourceRelation,\n JikanResourceTitle,\n JikanUniqueResource,\n} from '../Common';\nimport { AnimeYoutubeVideo } from './anime-video.model';\n\nexport interface Anime {\n mal_id: string;\n url: string;\n images: JikanImages;\n trailer: AnimeYoutubeVideo;\n approved: boolean;\n titles: JikanResourceTitle[];\n title: string;\n title_english: string;\n title_japanese: string;\n title_synonyms: string[];\n type: AnimeType;\n source: string;\n episodes: number;\n status: AnimeStatus;\n airing: boolean;\n aired: JikanResourcePeriod;\n duration: string;\n rating: AnimeRating;\n score: number;\n scored_by: number;\n rank: number;\n popularity: number;\n members: number;\n favorites: number;\n synopsis: string;\n background: string;\n season?: AnimeSeason;\n year: number;\n broadcast: AnimeBroadcast;\n producers: JikanUniqueResource[];\n licensors: JikanUniqueResource[];\n studio: JikanUniqueResource[];\n genres: JikanUniqueResource[];\n explicit_genres: JikanUniqueResource[];\n themes: JikanUniqueResource[];\n demographic: JikanUniqueResource[];\n relations?: JikanResourceRelation[];\n theme?: AnimeTheme;\n external?: JikanNamedResource[];\n streaming: JikanNamedResource[];\n}\n\nexport interface AnimeBroadcast {\n day: string;\n time: string;\n timezone: string;\n string: string;\n}\n\nexport interface AnimeTheme {\n openings: string[];\n endings: string[];\n}\n\nexport enum AnimeType {\n tv = 'TV',\n movie = 'Movie',\n ova = 'Ova',\n special = 'Special',\n ona = 'Ona',\n music = 'Music',\n}\n\nexport enum AnimeStatus {\n finished = 'Finished Airing',\n airing = 'Currently Airing',\n complete = 'Complete',\n}\n\nexport enum AnimeRating {\n g = 'g',\n pg = 'pg',\n pg13 = 'pg13',\n r17 = 'r17',\n r = 'r',\n rx = 'rx',\n}\n\nexport enum AnimeSeason {\n spring = 'spring',\n summer = 'summer',\n fall = 'fall',\n winter = 'winter',\n}\n","import { CommonCharacter } from '../Common/character.model';\r\nimport { JikanPerson } from '../Common/person.model';\r\n\r\nexport interface AnimeCharacter extends CommonCharacter {\r\n voice_actors: AnimeCharacterVoiceActor[];\r\n}\r\n\r\nexport interface AnimeCharacterVoiceActor {\r\n person: JikanPerson;\r\n language: string;\r\n}\r\n","import { JikanPerson } from '../Common';\r\n\r\nexport interface AnimeStaff {\r\n person: JikanPerson;\r\n positions: string[];\r\n}\r\n","export interface AnimeEpisode {\r\n mal_id: number;\r\n url: string;\r\n title: string;\r\n title_japanese: string;\r\n title_romanji: string;\r\n duration: number;\r\n aired: string;\r\n filler: boolean;\r\n recap: boolean;\r\n forum_url: string;\r\n}\r\n","import { JikanImages, JikanImagesCollection } from '../Common';\r\n\r\nexport interface AnimeVideo {\r\n promo: AnimeVideoPromo[];\r\n episodes: AnimeVideoEpisode[];\r\n music_videos: AnimeMusicVideo[];\r\n}\r\n\r\nexport interface AnimeVideoPromo {\r\n title: string;\r\n trailer: AnimeYoutubeVideo;\r\n}\r\n\r\nexport interface AnimeYoutubeVideo {\r\n youtube_id: string;\r\n url: string;\r\n embed_url: string;\r\n images?: JikanImagesCollection;\r\n}\r\n\r\nexport interface AnimeVideoEpisode {\r\n mal_id: number;\r\n url: string;\r\n title: string;\r\n episode: string;\r\n images: JikanImages;\r\n}\r\n\r\nexport interface AnimeMusicVideo {\r\n title: string;\r\n video: AnimeYoutubeVideo;\r\n meta: AnimeVideoMeta;\r\n}\r\n\r\nexport interface AnimeVideoMeta {\r\n title: string;\r\n author: string;\r\n}\r\n","import { JikanImages } from '../Common';\r\n\r\nexport interface AnimePicture {\r\n images: JikanImages;\r\n}\r\n","import { Statistics } from '../Common';\n\nexport interface AnimeStatistics extends Statistics {\n watching: number;\n plan_to_watch: number;\n}\n","export * from './resource.model';\r\nexport * from './image.model';\r\nexport * from './character.model';\r\nexport * from './person.model';\r\nexport * from './recommendation.model';\r\nexport * from './statistics.model';\r\n","export interface JikanUniqueResource {\n mal_id: number;\n type: string;\n name: string;\n url: string;\n}\n\nexport interface JikanNamedResource {\n name: string;\n url: string;\n}\n\nexport interface JikanResourceTitle {\n type: string;\n title: string;\n}\n\nexport interface JikanResourcePeriod {\n from: string;\n to: string;\n prop: {\n form: { day: number; month: number; year: number };\n to: { day: number; month: number; year: number };\n string: string;\n };\n}\n\nexport interface JikanResourceRelation {\n relation: string;\n entry: JikanUniqueResource[];\n}\n","export interface JikanImages {\r\n jpg: JikanImagesCollection;\r\n webp?: JikanImagesCollection;\r\n}\r\n\r\nexport interface JikanImagesCollection {\r\n image_url: string;\r\n small_image_url?: string;\r\n medium_image_url?: string;\r\n large_image_url?: string;\r\n maximum_image_url?: string;\r\n}\r\n","import { JikanImages } from './image.model';\n\nexport interface CommonCharacter {\n character: CommonCharacterData;\n role: CharacterRole;\n}\n\nexport interface CommonCharacterData {\n mal_id: number;\n url: string;\n images: JikanImages;\n name: string;\n}\n\nexport enum CharacterRole {\n main = 'Main',\n supporting = 'Supporting',\n}\n","import { JikanImages } from './image.model';\r\n\r\nexport interface JikanPerson {\r\n mal_id: number;\r\n url: string;\r\n images: JikanImages;\r\n name: string;\r\n}\r\n","import { JikanImages } from './image.model';\r\n\r\nexport interface Recommendation {\r\n entry: RecommendationEntry;\r\n}\r\n\r\nexport interface RecommendationEntry {\r\n mal_id: number;\r\n url: string;\r\n images: JikanImages;\r\n title: string;\r\n}\r\n","export interface Statistics {\r\n completed: number;\r\n on_hold: number;\r\n dropped: number;\r\n total: number;\r\n scores: StatisticsScore[];\r\n}\r\n\r\nexport interface StatisticsScore {\r\n score: number;\r\n votes: number;\r\n percentage: number;\r\n}\r\n","export * from './manga.model';\nexport * from './manga-statistics.model';\n","import {\n JikanImages,\n JikanNamedResource,\n JikanResourcePeriod,\n JikanResourceRelation,\n JikanResourceTitle,\n JikanUniqueResource,\n} from '../Common';\n\nexport interface Manga {\n mal_id: number;\n url: string;\n images: JikanImages;\n approved: boolean;\n titles: JikanResourceTitle[];\n title: string;\n title_japanese: string;\n title_synonyms?: string[];\n type: MangaType;\n chapters: number;\n volumes: number;\n status: MangaStatus;\n publishing: boolean;\n published: JikanResourcePeriod;\n score: number;\n scored_by: number;\n rank: number;\n popularity: number;\n members: number;\n favorites: number;\n synopsis: string;\n background: string;\n authors: JikanUniqueResource[];\n serializations: JikanUniqueResource[];\n explicit_genres: JikanUniqueResource[];\n themes: JikanUniqueResource[];\n demographics: JikanUniqueResource[];\n relations?: JikanResourceRelation[];\n external?: JikanNamedResource[];\n}\n\nexport enum MangaType {\n manga = 'Manga',\n novel = 'Novel',\n lightnovel = 'Lightnovel',\n oneshot = 'Oneshot',\n doujin = 'Doujin',\n manwha = 'Manwha',\n manhua = 'Manhua',\n}\n\nexport enum MangaStatus {\n publishing = 'Publishing',\n complete = 'Complete',\n hiatus = 'Hiatus',\n discontinued = 'Discontinued',\n upcoming = 'Upcoming',\n}\n","import { Statistics } from '../Common';\n\nexport interface MangaStatistics extends Statistics {\n reading: number;\n plan_to_read: number;\n}\n","export * from './response.model';\r\n","export interface JikanPagination {\r\n last_visible_page: number;\r\n has_next_page: boolean;\r\n items?: JikanPaginationItems;\r\n}\r\n\r\nexport interface JikanPaginationItems {\r\n count: number;\r\n total: number;\r\n per_page: number;\r\n}\r\n\r\nexport interface JikanResponse<T> {\r\n data: T[];\r\n pagination?: JikanPagination;\r\n}\r\n\r\nexport interface JikanUniqueResponse<T> {\r\n data: T;\r\n pagination?: JikanPagination;\r\n}\r\n","export * from './search-params.model';\nexport * from './top-params.model';\n","import { MangaStatus, MangaType } from '../Manga';\nimport { AnimeRating, AnimeStatus, AnimeType } from '../Anime';\n\nexport enum SortOptions {\n asc = 'asc',\n desc = 'desc',\n}\n\nexport enum SearchOrder {\n mal_id = 'mal_id',\n title = 'title',\n start_date = 'start_date',\n end_date = 'end_date',\n score = 'score',\n scored_by = 'scored_by',\n rank = 'rank',\n popularity = 'popularity',\n members = 'members',\n favorites = 'favorites',\n}\n\nexport enum AnimeSearchOrder {\n type = 'type',\n rating = 'rating',\n episodes = 'episodes',\n}\n\nexport enum MangaSearchOrder {\n chapters = 'chapters',\n volumes = 'volumes',\n}\n\nexport interface JikanSearchParams {\n q?: string;\n page?: number;\n limit?: number;\n score?: number;\n min_score?: number;\n max_score?: number;\n sfw?: boolean;\n genres?: string;\n genres_exclude?: string;\n sort?: SortOptions | string;\n letter?: string;\n producers?: string;\n start_date?: string;\n end_date?: string;\n}\n\n/**\n * QueryParams used in **getMangaSearch** call\n *\n * See also: [Jikan API Documentation](https://docs.api.jikan.moe/#tag/manga/operation/getMangaSearch)\n */\nexport interface MangaSearchParams extends JikanSearchParams {\n type?: MangaType | string;\n status?: MangaStatus | string;\n order_by?: MangaSearchOrder | SearchOrder | string;\n magazines?: string;\n}\n\n/**\n * QueryParams used in **getAnimeSearch** call\n *\n * See also: [Jikan API Documentation](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeSearch)\n */\nexport interface AnimeSearchParams extends JikanSearchParams {\n type?: AnimeType | string;\n status?: AnimeStatus | string;\n rating?: AnimeRating | string;\n order_by?: AnimeSearchOrder | SearchOrder | string;\n}\n","import { AnimeType } from '../Anime';\nimport { MangaType } from '../Manga';\n\nexport enum TopAnimeFilter {\n airing = 'airing',\n upcoming = 'upcoming',\n bypopularity = 'bypopularity',\n favorite = 'favorite',\n}\n\nexport enum TopMangaFilter {\n publishing = 'publishing',\n upcoming = 'upcoming',\n bypopularity = 'bypopularity',\n favorite = 'favorite',\n}\n\nexport interface JikanTopParams {\n page?: number;\n limit?: number;\n}\n\n/**\n * QueryParams used in **getTopAnime** call\n *\n * See also: [Jikan API Documentation](https://docs.api.jikan.moe/#tag/top/operation/getTopAnime)\n */\nexport interface AnimeTopParams extends JikanTopParams {\n type?: AnimeType;\n filter?: TopAnimeFilter;\n}\n\n/**\n * QueryParams used in **getTopManga** call\n *\n * See also: [Jikan API Documentation](https://docs.api.jikan.moe/#tag/top/operation/getTopManga)\n */\nexport interface MangaTopParams extends JikanTopParams {\n type?: MangaType;\n filter: TopMangaFilter;\n}\n"],"names":[],"version":3,"file":"index.js.map"}
|
package/package.json
CHANGED
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
AnimeCharacter,
|
|
8
8
|
AnimeEpisode,
|
|
9
9
|
AnimePicture,
|
|
10
|
+
AnimeSearchParams,
|
|
10
11
|
AnimeStaff,
|
|
11
12
|
AnimeStatistics,
|
|
12
13
|
AnimeVideo,
|
|
@@ -15,7 +16,6 @@ import {
|
|
|
15
16
|
JikanUniqueResponse,
|
|
16
17
|
Recommendation,
|
|
17
18
|
} from '../models';
|
|
18
|
-
import { AnimeSearchParams } from '../models/Params';
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* **Anime Client**
|
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
AxiosCacheInstance,
|
|
4
|
-
CacheAxiosResponse,
|
|
5
|
-
CacheOptions,
|
|
6
|
-
CacheRequestConfig,
|
|
7
|
-
setupCache,
|
|
8
|
-
} from 'axios-cache-interceptor';
|
|
9
|
-
import axios, { AxiosError } from 'axios';
|
|
10
|
-
import { BaseURL } from '../constants';
|
|
11
|
-
import {
|
|
12
|
-
createLogger,
|
|
13
|
-
DEFAULT_CACHE_OPTIONS,
|
|
14
|
-
handleRequest,
|
|
15
|
-
handleRequestError,
|
|
16
|
-
handleResponse,
|
|
17
|
-
handleResponseError,
|
|
18
|
-
} from '../config';
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* **Client Args**
|
|
22
|
-
* Used to pass optional configuration for logging and cache to the clients.
|
|
23
|
-
*/
|
|
24
|
-
export interface ClientArgs {
|
|
25
|
-
/**
|
|
26
|
-
* **Logger Options**
|
|
27
|
-
* Options for the client logger.
|
|
28
|
-
* @see https://getpino.io/#/docs/api?id=options
|
|
29
|
-
*/
|
|
30
|
-
logOptions?: LoggerOptions;
|
|
31
|
-
/**
|
|
32
|
-
* **Axios Cache Options**
|
|
33
|
-
* Options for cache.
|
|
34
|
-
* @see https://axios-cache-interceptor.js.org/#/pages/configuration
|
|
35
|
-
*/
|
|
36
|
-
cacheOptions?: CacheOptions;
|
|
37
|
-
/**
|
|
38
|
-
* **Base URL**
|
|
39
|
-
* Location of the JikanAPI. Leave empty to use the official JikanAPI instance.
|
|
40
|
-
*/
|
|
41
|
-
baseURL?: string;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* **Base Client** This client is responsible for creating an Axios Instance and the cache and logging configurations
|
|
46
|
-
*/
|
|
47
|
-
export abstract class BaseClient {
|
|
48
|
-
public api: AxiosCacheInstance;
|
|
49
|
-
public logger: Logger;
|
|
50
|
-
|
|
51
|
-
constructor(clientOptions?: ClientArgs) {
|
|
52
|
-
this.api = setupCache(
|
|
53
|
-
axios.create({
|
|
54
|
-
baseURL: clientOptions?.baseURL ?? BaseURL.REST,
|
|
55
|
-
headers: {
|
|
56
|
-
'Content-Type': 'application/json',
|
|
57
|
-
},
|
|
58
|
-
}),
|
|
59
|
-
{
|
|
60
|
-
storage: clientOptions?.cacheOptions?.storage ?? DEFAULT_CACHE_OPTIONS.storage,
|
|
61
|
-
generateKey: clientOptions?.cacheOptions?.generateKey ?? DEFAULT_CACHE_OPTIONS.generateKey,
|
|
62
|
-
headerInterpreter: clientOptions?.cacheOptions?.headerInterpreter ?? DEFAULT_CACHE_OPTIONS.headerInterpreter,
|
|
63
|
-
debug: clientOptions?.cacheOptions?.debug ?? DEFAULT_CACHE_OPTIONS.debug,
|
|
64
|
-
}
|
|
65
|
-
);
|
|
66
|
-
|
|
67
|
-
this.logger = createLogger({
|
|
68
|
-
enabled: !(clientOptions?.logOptions?.enabled === undefined || clientOptions?.logOptions.enabled === false),
|
|
69
|
-
...clientOptions?.logOptions,
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
this.api.interceptors.request.use(
|
|
73
|
-
(config: CacheRequestConfig) => handleRequest(config, this.logger),
|
|
74
|
-
(error: AxiosError<string>) => handleRequestError(error, this.logger)
|
|
75
|
-
);
|
|
76
|
-
|
|
77
|
-
this.api.interceptors.response.use(
|
|
78
|
-
(response: CacheAxiosResponse) => handleResponse(response, this.logger),
|
|
79
|
-
(error: AxiosError<string>) => handleResponseError(error, this.logger)
|
|
80
|
-
);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
1
|
+
import pino from 'pino';
|
|
2
|
+
import {
|
|
3
|
+
AxiosCacheInstance,
|
|
4
|
+
CacheAxiosResponse,
|
|
5
|
+
CacheOptions,
|
|
6
|
+
CacheRequestConfig,
|
|
7
|
+
setupCache,
|
|
8
|
+
} from 'axios-cache-interceptor';
|
|
9
|
+
import axios, { AxiosError } from 'axios';
|
|
10
|
+
import { BaseURL } from '../constants';
|
|
11
|
+
import {
|
|
12
|
+
createLogger,
|
|
13
|
+
DEFAULT_CACHE_OPTIONS,
|
|
14
|
+
handleRequest,
|
|
15
|
+
handleRequestError,
|
|
16
|
+
handleResponse,
|
|
17
|
+
handleResponseError,
|
|
18
|
+
} from '../config';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* **Client Args**
|
|
22
|
+
* Used to pass optional configuration for logging and cache to the clients.
|
|
23
|
+
*/
|
|
24
|
+
export interface ClientArgs {
|
|
25
|
+
/**
|
|
26
|
+
* **Logger Options**
|
|
27
|
+
* Options for the client logger.
|
|
28
|
+
* @see https://getpino.io/#/docs/api?id=options
|
|
29
|
+
*/
|
|
30
|
+
logOptions?: pino.LoggerOptions;
|
|
31
|
+
/**
|
|
32
|
+
* **Axios Cache Options**
|
|
33
|
+
* Options for cache.
|
|
34
|
+
* @see https://axios-cache-interceptor.js.org/#/pages/configuration
|
|
35
|
+
*/
|
|
36
|
+
cacheOptions?: CacheOptions;
|
|
37
|
+
/**
|
|
38
|
+
* **Base URL**
|
|
39
|
+
* Location of the JikanAPI. Leave empty to use the official JikanAPI instance.
|
|
40
|
+
*/
|
|
41
|
+
baseURL?: string;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* **Base Client** This client is responsible for creating an Axios Instance and the cache and logging configurations
|
|
46
|
+
*/
|
|
47
|
+
export abstract class BaseClient {
|
|
48
|
+
public api: AxiosCacheInstance;
|
|
49
|
+
public logger: pino.Logger;
|
|
50
|
+
|
|
51
|
+
constructor(clientOptions?: ClientArgs) {
|
|
52
|
+
this.api = setupCache(
|
|
53
|
+
axios.create({
|
|
54
|
+
baseURL: clientOptions?.baseURL ?? BaseURL.REST,
|
|
55
|
+
headers: {
|
|
56
|
+
'Content-Type': 'application/json',
|
|
57
|
+
},
|
|
58
|
+
}),
|
|
59
|
+
{
|
|
60
|
+
storage: clientOptions?.cacheOptions?.storage ?? DEFAULT_CACHE_OPTIONS.storage,
|
|
61
|
+
generateKey: clientOptions?.cacheOptions?.generateKey ?? DEFAULT_CACHE_OPTIONS.generateKey,
|
|
62
|
+
headerInterpreter: clientOptions?.cacheOptions?.headerInterpreter ?? DEFAULT_CACHE_OPTIONS.headerInterpreter,
|
|
63
|
+
debug: clientOptions?.cacheOptions?.debug ?? DEFAULT_CACHE_OPTIONS.debug,
|
|
64
|
+
}
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
this.logger = createLogger({
|
|
68
|
+
enabled: !(clientOptions?.logOptions?.enabled === undefined || clientOptions?.logOptions.enabled === false),
|
|
69
|
+
...clientOptions?.logOptions,
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
this.api.interceptors.request.use(
|
|
73
|
+
(config: CacheRequestConfig) => handleRequest(config, this.logger),
|
|
74
|
+
(error: AxiosError<string>) => handleRequestError(error, this.logger)
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
this.api.interceptors.response.use(
|
|
78
|
+
(response: CacheAxiosResponse) => handleResponse(response, this.logger),
|
|
79
|
+
(error: AxiosError<string>) => handleResponseError(error, this.logger)
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
JikanResponse,
|
|
9
9
|
JikanUniqueResponse,
|
|
10
10
|
Manga,
|
|
11
|
+
MangaSearchParams,
|
|
11
12
|
MangaStatistics,
|
|
12
13
|
Recommendation,
|
|
13
14
|
} from '../models';
|
|
14
|
-
import { MangaSearchParams } from '../models/Params';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* **Manga Client**
|
|
@@ -40,7 +40,7 @@ export class MangaClient extends BaseClient {
|
|
|
40
40
|
* @param searchParams Filter parameters
|
|
41
41
|
* @returns A JikanResponse with Manga data
|
|
42
42
|
*/
|
|
43
|
-
public async getMangaSearch(searchParams
|
|
43
|
+
public async getMangaSearch(searchParams?: MangaSearchParams): Promise<JikanResponse<Manga>> {
|
|
44
44
|
return new Promise<JikanResponse<Manga>>((resolve, reject) => {
|
|
45
45
|
const endpoint = `${MangaEndpoints.MangaSearch}`;
|
|
46
46
|
this.api
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { BaseClient, ClientArgs } from './base.client';
|
|
2
|
-
import { Anime, JikanResponse, Manga } from '../models';
|
|
2
|
+
import { Anime, AnimeTopParams, JikanResponse, Manga, MangaTopParams } from '../models';
|
|
3
3
|
import { TopEndpoints } from '../constants';
|
|
4
4
|
import { CacheAxiosResponse } from 'axios-cache-interceptor';
|
|
5
5
|
import { AxiosError } from 'axios';
|
|
6
|
-
import { AnimeTopParams, MangaTopParams } from '../models/Params';
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* **Anime Client**
|
|
@@ -26,7 +25,7 @@ export class TopClient extends BaseClient {
|
|
|
26
25
|
* Get the top Animes
|
|
27
26
|
* @returns A JikanResponse with Anime data
|
|
28
27
|
*/
|
|
29
|
-
public async getTopAnime(searchParams
|
|
28
|
+
public async getTopAnime(searchParams?: AnimeTopParams): Promise<JikanResponse<Anime>> {
|
|
30
29
|
return new Promise<JikanResponse<Anime>>((resolve, reject) => {
|
|
31
30
|
const endpoint = `${TopEndpoints.TopAnime}`;
|
|
32
31
|
this.api
|
|
@@ -40,7 +39,7 @@ export class TopClient extends BaseClient {
|
|
|
40
39
|
* Get the top Mangas
|
|
41
40
|
* @returns A JikanResponse with Manga data
|
|
42
41
|
*/
|
|
43
|
-
public async getTopManga(searchParams
|
|
42
|
+
public async getTopManga(searchParams?: MangaTopParams): Promise<JikanResponse<Manga>> {
|
|
44
43
|
return new Promise<JikanResponse<Manga>>((resolve, reject) => {
|
|
45
44
|
const endpoint = `${TopEndpoints.TopManga}`;
|
|
46
45
|
this.api
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import pino
|
|
1
|
+
import pino from 'pino';
|
|
2
2
|
import { AxiosError } from 'axios';
|
|
3
3
|
import { CacheAxiosResponse, CacheRequestConfig } from 'axios-cache-interceptor';
|
|
4
4
|
|
|
5
|
-
export const createLogger = (options
|
|
5
|
+
export const createLogger = (options?: pino.LoggerOptions | pino.DestinationStream): pino.Logger => pino(options);
|
|
6
6
|
|
|
7
|
-
export const handleRequest = (config: CacheRequestConfig, logger: Logger): CacheRequestConfig => {
|
|
8
|
-
logger.info(`[
|
|
7
|
+
export const handleRequest = (config: CacheRequestConfig, logger: pino.Logger): CacheRequestConfig => {
|
|
8
|
+
logger.info(`[Request Config] ${config.method?.toUpperCase() || ''} | ${config.url || ''}`);
|
|
9
9
|
return config;
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
export const handleRequestError = (error: AxiosError, logger: Logger): Promise<AxiosError> => {
|
|
13
|
-
logger.error(`[
|
|
12
|
+
export const handleRequestError = (error: AxiosError, logger: pino.Logger): Promise<AxiosError> => {
|
|
13
|
+
logger.error(`[Request Error] CODE ${error.code || 'UNKNOWN'} | ${error.message}`);
|
|
14
14
|
throw error;
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
-
export const handleResponse = (response: CacheAxiosResponse, logger: Logger): CacheAxiosResponse => {
|
|
17
|
+
export const handleResponse = (response: CacheAxiosResponse, logger: pino.Logger): CacheAxiosResponse => {
|
|
18
18
|
logger.info(response.data);
|
|
19
19
|
return response;
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
export const handleResponseError = (error: AxiosError, logger: Logger): Promise<AxiosError> => {
|
|
22
|
+
export const handleResponseError = (error: AxiosError, logger: pino.Logger): Promise<AxiosError> => {
|
|
23
23
|
logger.error(`[ Response Error ] CODE ${error.code || 'UNKNOWN'} | ${error.message}`);
|
|
24
24
|
throw error;
|
|
25
25
|
};
|