@tutkli/jikan-ts 0.6.2 → 0.6.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/dist/index.d.ts CHANGED
@@ -174,7 +174,7 @@ export interface AnimeVideoMeta {
174
174
  author: string;
175
175
  }
176
176
  export interface Anime {
177
- mal_id: string;
177
+ mal_id: number;
178
178
  url: string;
179
179
  images: JikanImages;
180
180
  trailer: AnimeYoutubeVideo;
@@ -209,7 +209,7 @@ export interface Anime {
209
209
  genres: JikanResource[];
210
210
  explicit_genres: JikanResource[];
211
211
  themes: JikanResource[];
212
- demographic: JikanResource[];
212
+ demographics: JikanResource[];
213
213
  relations?: JikanResourceRelation[];
214
214
  theme?: AnimeTheme;
215
215
  external?: JikanNamedResource[];
@@ -501,9 +501,10 @@ export declare class AnimeClient extends BaseClient {
501
501
  /**
502
502
  * Get a list of all the episodes of a specific Anime
503
503
  * @param mal_id The Anime ID
504
+ * @param page The page number
504
505
  * @returns JikanResponse with AnimeEpisode array data
505
506
  */
506
- getAnimeEpisodes(mal_id: number): Promise<JikanResponse<AnimeEpisode[]>>;
507
+ getAnimeEpisodes(mal_id: number, page?: number): Promise<JikanResponse<AnimeEpisode[]>>;
507
508
  /**
508
509
  * Get a single Episode of a specific Anime by its ID
509
510
  * @param anime_mal_id The Anime ID
@@ -520,9 +521,10 @@ export declare class AnimeClient extends BaseClient {
520
521
  /**
521
522
  * Get Episode Videos related to a specific Anime
522
523
  * @param mal_id The Anime ID
524
+ * @param page The page number
523
525
  * @returns JikanResponse with AnimeVideoEpisode array data
524
526
  */
525
- getAnimeEpisodeVideos(mal_id: number): Promise<JikanResponse<AnimeEpisodeVideo[]>>;
527
+ getAnimeEpisodeVideos(mal_id: number, page?: number): Promise<JikanResponse<AnimeEpisodeVideo[]>>;
526
528
  /**
527
529
  * Get Pictures related to a specific Anime
528
530
  * @param mal_id The Anime ID
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{setupCache as w}from"axios-cache-interceptor";import _ from"axios";var f=(n=>(n.REST="https://api.jikan.moe/v4",n))(f||{});var C=(m=>(m.AnimeSearch="/anime",m.AnimeFullById="/anime/{id}/full",m.AnimeById="/anime/{id}",m.AnimeCharacters="/anime/{id}/characters",m.AnimeStaff="/anime/{id}/staff",m.AnimeEpisodes="/anime/{id}/episodes",m.AnimeEpisodeById="/anime/{id}/episodes/{episode}",m.AnimeVideos="/anime/{id}/videos",m.AnimeVideosEpisodes="/anime/{id}/videos/episodes",m.AnimePictures="/anime/{id}/pictures",m.AnimeStatistics="/anime/{id}/statistics",m.AnimeRecommendations="/anime/{id}/recommendations",m))(C||{}),P=(t=>(t.MangaSearch="/manga",t.MangaFullById="/manga/{id}/full",t.MangaById="/manga/{id}",t.MangaCharacters="/manga/{id}/characters",t.MangaPictures="/manga/{id}/pictures",t.MangaStatistics="/manga/{id}/statistics",t.MangaRecommendations="/manga/{id}/recommendations",t))(P||{}),y=(i=>(i.TopAnime="/top/anime",i.TopManga="/top/manga",i))(y||{});import{buildMemoryStorage as I,defaultHeaderInterpreter as E,defaultKeyGenerator as S}from"axios-cache-interceptor";var g={storage:I(),generateKey:S,headerInterpreter:E,debug:void 0},R=r=>({storage:r?.storage??g.storage,generateKey:r?.generateKey??g.generateKey,headerInterpreter:r?.headerInterpreter??g.headerInterpreter,debug:r?.debug??g.debug});import{Logger as M}from"tslog";var L={prettyLogTemplate:"{{yyyy}}.{{mm}}.{{dd}} {{hh}}:{{MM}}:{{ss}}:{{ms}} {{logLevelName}} [{{name}}] ",name:"Jikan-ts Logger"},l=(r=L)=>new M(r),A=(r,n)=>(n.info(`[Request Config] ${r.method?.toUpperCase()||""} | ${r.url||""}`),r),k=(r,n)=>{throw n.error(`[Request Error] CODE ${r.code||"UNKNOWN"} | ${r.message}`),r},J=(r,n)=>(n.info(),console.log(r.data),r),x=(r,n)=>{throw n.error(`[ Response Error ] CODE ${r.code||"UNKNOWN"} | ${r.message}`),r};var c=class{api;constructor(n={}){if(this.api=w(_.create({baseURL:n.baseURL??"https://api.jikan.moe/v4",headers:{"Content-Type":"application/json"}}),R(n.cacheOptions)),n.loggerOptions?.enabled){let i=l(n.loggerOptions.settings);this.addHttpInterceptors(i)}}addHttpInterceptors(n){this.api.interceptors.request.use(i=>A(i,n),i=>k(i,n)),this.api.interceptors.response.use(i=>J(i,n),i=>x(i,n))}};var u=class extends c{constructor(n){super(n)}async getAnimeSearch(n){return new Promise((i,a)=>{let s=`${"/anime"}`;this.api.get(s,{params:n}).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimeFullById(n){return new Promise((i,a)=>{let s=`${"/anime/{id}/full".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimeById(n){return new Promise((i,a)=>{let s=`${"/anime/{id}".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimeCharacters(n){return new Promise((i,a)=>{let s=`${"/anime/{id}/characters".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimeStaff(n){return new Promise((i,a)=>{let s=`${"/anime/{id}/staff".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimeEpisodes(n){return new Promise((i,a)=>{let s=`${"/anime/{id}/episodes".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimeEpisodeById(n,i){return new Promise((a,s)=>{let e=`${"/anime/{id}/episodes/{episode}".replace("{id}",String(n)).replace("{episode}",String(i))}`;this.api.get(e).then(o=>a(o.data)).catch(o=>s(o))})}async getAnimeVideos(n){return new Promise((i,a)=>{let s=`${"/anime/{id}/videos".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimeEpisodeVideos(n){return new Promise((i,a)=>{let s=`${"/anime/{id}/videos/episodes".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimePictures(n){return new Promise((i,a)=>{let s=`${"/anime/{id}/pictures".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimeStatistics(n){return new Promise((i,a)=>{let s=`${"/anime/{id}/statistics".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimeRecommendations(n){return new Promise((i,a)=>{let s=`${"/anime/{id}/recommendations".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}};var d=class extends c{constructor(n){super(n)}async getMangaSearch(n){return new Promise((i,a)=>{let s=`${"/manga"}`;this.api.get(s,{params:n}).then(e=>i(e.data)).catch(e=>a(e))})}async getMangaFullById(n){return new Promise((i,a)=>{let s=`${"/manga/{id}/full".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getMangaById(n){return new Promise((i,a)=>{let s=`${"/manga/{id}".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getMangaCharacters(n){return new Promise((i,a)=>{let s=`${"/manga/{id}/characters".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getMangaPictures(n){return new Promise((i,a)=>{let s=`${"/manga/{id}/pictures".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getMangaStatistics(n){return new Promise((i,a)=>{let s=`${"/manga/{id}/statistics".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getMangaRecommendations(n){return new Promise((i,a)=>{let s=`${"/manga/{id}/recommendations".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}};var h=class extends c{constructor(n){super(n)}async getTopAnime(n){return new Promise((i,a)=>{let s=`${"/top/anime"}`;this.api.get(s,{params:n}).then(e=>i(e.data)).catch(e=>a(e))})}async getTopManga(n){return new Promise((i,a)=>{let s=`${"/top/manga"}`;this.api.get(s,{params:n}).then(e=>i(e.data)).catch(e=>a(e))})}};var b=class{anime;manga;top;constructor(n){this.anime=new u(n),this.manga=new d(n),this.top=new h(n)}};var v=(o=>(o.tv="TV",o.movie="Movie",o.ova="Ova",o.special="Special",o.ona="Ona",o.music="Music",o))(v||{}),$=(a=>(a.finished="Finished Airing",a.airing="Currently Airing",a.complete="Complete",a))($||{}),T=(o=>(o.g="g",o.pg="pg",o.pg13="pg13",o.r17="r17",o.r="r",o.rx="rx",o))(T||{}),B=(s=>(s.spring="spring",s.summer="summer",s.fall="fall",s.winter="winter",s))(B||{});var V=(i=>(i.main="Main",i.supporting="Supporting",i))(V||{});var j=(t=>(t.manga="Manga",t.novel="Novel",t.lightnovel="Lightnovel",t.oneshot="Oneshot",t.doujin="Doujin",t.manhwa="Manhwa",t.manhua="Manhua",t))(j||{}),O=(e=>(e.publishing="Publishing",e.complete="Complete",e.hiatus="Hiatus",e.discontinued="Discontinued",e.upcoming="Upcoming",e))(O||{});var N=(i=>(i.asc="asc",i.desc="desc",i))(N||{}),q=(p=>(p.mal_id="mal_id",p.title="title",p.start_date="start_date",p.end_date="end_date",p.score="score",p.scored_by="scored_by",p.rank="rank",p.popularity="popularity",p.members="members",p.favorites="favorites",p))(q||{}),U=(a=>(a.type="type",a.rating="rating",a.episodes="episodes",a))(U||{}),D=(i=>(i.chapters="chapters",i.volumes="volumes",i))(D||{});var K=(s=>(s.airing="airing",s.upcoming="upcoming",s.bypopularity="bypopularity",s.favorite="favorite",s))(K||{}),H=(s=>(s.publishing="publishing",s.upcoming="upcoming",s.bypopularity="bypopularity",s.favorite="favorite",s))(H||{});export{u as AnimeClient,C as AnimeEndpoints,T as AnimeRating,U as AnimeSearchOrder,B as AnimeSeason,$ as AnimeStatus,v as AnimeType,c as BaseClient,f as BaseURL,V as CharacterRole,g as DEFAULT_CACHE_OPTIONS,L as DEFAULT_LOGGER_SETTINGS,b as JikanClient,d as MangaClient,P as MangaEndpoints,D as MangaSearchOrder,O as MangaStatus,j as MangaType,q as SearchOrder,N as SortOptions,K as TopAnimeFilter,h as TopClient,y as TopEndpoints,H as TopMangaFilter,l as createLogger,R as getCacheOptions,A as handleRequest,k as handleRequestError,J as handleResponse,x as handleResponseError};
1
+ import{setupCache as w}from"axios-cache-interceptor";import _ from"axios";var f=(n=>(n.REST="https://api.jikan.moe/v4",n))(f||{});var C=(m=>(m.AnimeSearch="/anime",m.AnimeFullById="/anime/{id}/full",m.AnimeById="/anime/{id}",m.AnimeCharacters="/anime/{id}/characters",m.AnimeStaff="/anime/{id}/staff",m.AnimeEpisodes="/anime/{id}/episodes",m.AnimeEpisodeById="/anime/{id}/episodes/{episode}",m.AnimeVideos="/anime/{id}/videos",m.AnimeVideosEpisodes="/anime/{id}/videos/episodes",m.AnimePictures="/anime/{id}/pictures",m.AnimeStatistics="/anime/{id}/statistics",m.AnimeRecommendations="/anime/{id}/recommendations",m))(C||{}),P=(t=>(t.MangaSearch="/manga",t.MangaFullById="/manga/{id}/full",t.MangaById="/manga/{id}",t.MangaCharacters="/manga/{id}/characters",t.MangaPictures="/manga/{id}/pictures",t.MangaStatistics="/manga/{id}/statistics",t.MangaRecommendations="/manga/{id}/recommendations",t))(P||{}),y=(i=>(i.TopAnime="/top/anime",i.TopManga="/top/manga",i))(y||{});import{buildMemoryStorage as I,defaultHeaderInterpreter as E,defaultKeyGenerator as S}from"axios-cache-interceptor";var g={storage:I(),generateKey:S,headerInterpreter:E,debug:void 0},R=r=>({storage:r?.storage??g.storage,generateKey:r?.generateKey??g.generateKey,headerInterpreter:r?.headerInterpreter??g.headerInterpreter,debug:r?.debug??g.debug});import{Logger as M}from"tslog";var L={prettyLogTemplate:"{{yyyy}}.{{mm}}.{{dd}} {{hh}}:{{MM}}:{{ss}}:{{ms}} {{logLevelName}} [{{name}}] ",name:"Jikan-ts Logger"},l=(r=L)=>new M(r),A=(r,n)=>(n.info(`[Request Config] ${r.method?.toUpperCase()||""} | ${r.url||""}`),r),k=(r,n)=>{throw n.error(`[Request Error] CODE ${r.code||"UNKNOWN"} | ${r.message}`),r},J=(r,n)=>(n.info(),console.log(r.data),r),x=(r,n)=>{throw n.error(`[ Response Error ] CODE ${r.code||"UNKNOWN"} | ${r.message}`),r};var c=class{api;constructor(n={}){if(this.api=w(_.create({baseURL:n.baseURL??"https://api.jikan.moe/v4",headers:{"Content-Type":"application/json"}}),R(n.cacheOptions)),n.loggerOptions?.enabled){let i=l(n.loggerOptions.settings);this.addHttpInterceptors(i)}}addHttpInterceptors(n){this.api.interceptors.request.use(i=>A(i,n),i=>k(i,n)),this.api.interceptors.response.use(i=>J(i,n),i=>x(i,n))}};var u=class extends c{constructor(n){super(n)}async getAnimeSearch(n){return new Promise((i,a)=>{let s=`${"/anime"}`;this.api.get(s,{params:n}).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimeFullById(n){return new Promise((i,a)=>{let s=`${"/anime/{id}/full".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimeById(n){return new Promise((i,a)=>{let s=`${"/anime/{id}".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimeCharacters(n){return new Promise((i,a)=>{let s=`${"/anime/{id}/characters".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimeStaff(n){return new Promise((i,a)=>{let s=`${"/anime/{id}/staff".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimeEpisodes(n,i=1){return new Promise((a,s)=>{let e=`${"/anime/{id}/episodes".replace("{id}",String(n))}`;this.api.get(e,{params:{page:i}}).then(o=>a(o.data)).catch(o=>s(o))})}async getAnimeEpisodeById(n,i){return new Promise((a,s)=>{let e=`${"/anime/{id}/episodes/{episode}".replace("{id}",String(n)).replace("{episode}",String(i))}`;this.api.get(e).then(o=>a(o.data)).catch(o=>s(o))})}async getAnimeVideos(n){return new Promise((i,a)=>{let s=`${"/anime/{id}/videos".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimeEpisodeVideos(n,i=1){return new Promise((a,s)=>{let e=`${"/anime/{id}/videos/episodes".replace("{id}",String(n))}`;this.api.get(e,{params:{page:i}}).then(o=>a(o.data)).catch(o=>s(o))})}async getAnimePictures(n){return new Promise((i,a)=>{let s=`${"/anime/{id}/pictures".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimeStatistics(n){return new Promise((i,a)=>{let s=`${"/anime/{id}/statistics".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getAnimeRecommendations(n){return new Promise((i,a)=>{let s=`${"/anime/{id}/recommendations".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}};var d=class extends c{constructor(n){super(n)}async getMangaSearch(n){return new Promise((i,a)=>{let s=`${"/manga"}`;this.api.get(s,{params:n}).then(e=>i(e.data)).catch(e=>a(e))})}async getMangaFullById(n){return new Promise((i,a)=>{let s=`${"/manga/{id}/full".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getMangaById(n){return new Promise((i,a)=>{let s=`${"/manga/{id}".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getMangaCharacters(n){return new Promise((i,a)=>{let s=`${"/manga/{id}/characters".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getMangaPictures(n){return new Promise((i,a)=>{let s=`${"/manga/{id}/pictures".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getMangaStatistics(n){return new Promise((i,a)=>{let s=`${"/manga/{id}/statistics".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}async getMangaRecommendations(n){return new Promise((i,a)=>{let s=`${"/manga/{id}/recommendations".replace("{id}",String(n))}`;this.api.get(s).then(e=>i(e.data)).catch(e=>a(e))})}};var h=class extends c{constructor(n){super(n)}async getTopAnime(n){return new Promise((i,a)=>{let s=`${"/top/anime"}`;this.api.get(s,{params:n}).then(e=>i(e.data)).catch(e=>a(e))})}async getTopManga(n){return new Promise((i,a)=>{let s=`${"/top/manga"}`;this.api.get(s,{params:n}).then(e=>i(e.data)).catch(e=>a(e))})}};var b=class{anime;manga;top;constructor(n){this.anime=new u(n),this.manga=new d(n),this.top=new h(n)}};var v=(o=>(o.tv="TV",o.movie="Movie",o.ova="Ova",o.special="Special",o.ona="Ona",o.music="Music",o))(v||{}),$=(a=>(a.finished="Finished Airing",a.airing="Currently Airing",a.complete="Complete",a))($||{}),T=(o=>(o.g="g",o.pg="pg",o.pg13="pg13",o.r17="r17",o.r="r",o.rx="rx",o))(T||{}),B=(s=>(s.spring="spring",s.summer="summer",s.fall="fall",s.winter="winter",s))(B||{});var V=(i=>(i.main="Main",i.supporting="Supporting",i))(V||{});var j=(t=>(t.manga="Manga",t.novel="Novel",t.lightnovel="Lightnovel",t.oneshot="Oneshot",t.doujin="Doujin",t.manhwa="Manhwa",t.manhua="Manhua",t))(j||{}),O=(e=>(e.publishing="Publishing",e.complete="Complete",e.hiatus="Hiatus",e.discontinued="Discontinued",e.upcoming="Upcoming",e))(O||{});var N=(i=>(i.asc="asc",i.desc="desc",i))(N||{}),q=(p=>(p.mal_id="mal_id",p.title="title",p.start_date="start_date",p.end_date="end_date",p.score="score",p.scored_by="scored_by",p.rank="rank",p.popularity="popularity",p.members="members",p.favorites="favorites",p))(q||{}),U=(a=>(a.type="type",a.rating="rating",a.episodes="episodes",a))(U||{}),D=(i=>(i.chapters="chapters",i.volumes="volumes",i))(D||{});var K=(s=>(s.airing="airing",s.upcoming="upcoming",s.bypopularity="bypopularity",s.favorite="favorite",s))(K||{}),H=(s=>(s.publishing="publishing",s.upcoming="upcoming",s.bypopularity="bypopularity",s.favorite="favorite",s))(H||{});export{u as AnimeClient,C as AnimeEndpoints,T as AnimeRating,U as AnimeSearchOrder,B as AnimeSeason,$ as AnimeStatus,v as AnimeType,c as BaseClient,f as BaseURL,V as CharacterRole,g as DEFAULT_CACHE_OPTIONS,L as DEFAULT_LOGGER_SETTINGS,b as JikanClient,d as MangaClient,P as MangaEndpoints,D as MangaSearchOrder,O as MangaStatus,j as MangaType,q as SearchOrder,N as SortOptions,K as TopAnimeFilter,h as TopClient,y as TopEndpoints,H as TopMangaFilter,l as createLogger,R as getCacheOptions,A as handleRequest,k as handleRequestError,J as handleResponse,x as handleResponseError};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tutkli/jikan-ts",
3
- "version": "0.6.2",
3
+ "version": "0.6.3",
4
4
  "description": "Node.js wrapper for the Jikan API with build-in typings.",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",