@tutkli/jikan-ts 0.6.1 → 0.6.2

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
@@ -13,16 +13,17 @@ export declare const DEFAULT_CACHE_OPTIONS: {
13
13
  headerInterpreter: import("axios-cache-interceptor").HeadersInterpreter;
14
14
  debug: undefined;
15
15
  };
16
+ export declare const getCacheOptions: (cacheOptions: CacheOptions | undefined) => CacheOptions;
16
17
  export interface LoggerOptions {
17
18
  enabled: boolean;
18
- settings?: ISettingsParam<ILogObj>;
19
+ settings: ISettingsParam<ILogObj>;
19
20
  }
20
21
  export declare const DEFAULT_LOGGER_SETTINGS: ISettingsParam<ILogObj>;
21
22
  export declare const createLogger: (options?: ISettingsParam<ILogObj>) => Logger<ILogObj>;
22
- export declare const handleRequest: (requestConfig: CacheRequestConfig, logger: Logger<ILogObj> | undefined) => CacheRequestConfig;
23
- export declare const handleRequestError: (error: AxiosError, logger: Logger<ILogObj> | undefined) => Promise<AxiosError>;
24
- export declare const handleResponse: (response: CacheAxiosResponse, logger: Logger<ILogObj> | undefined) => CacheAxiosResponse;
25
- export declare const handleResponseError: (error: AxiosError, logger: Logger<ILogObj> | undefined) => Promise<AxiosError>;
23
+ export declare const handleRequest: (requestConfig: CacheRequestConfig, logger: Logger<ILogObj>) => CacheRequestConfig;
24
+ export declare const handleRequestError: (error: AxiosError, logger: Logger<ILogObj>) => Promise<AxiosError>;
25
+ export declare const handleResponse: (response: CacheAxiosResponse, logger: Logger<ILogObj>) => CacheAxiosResponse;
26
+ export declare const handleResponseError: (error: AxiosError, logger: Logger<ILogObj>) => Promise<AxiosError>;
26
27
  /**
27
28
  * **Client Args**
28
29
  * Used to pass optional configuration for logging and cache to the clients.
@@ -33,26 +34,25 @@ export interface ClientArgs {
33
34
  * Options for the client logger.
34
35
  * @see https://tslog.js.org/#/?id=settings
35
36
  */
36
- loggerOptions?: LoggerOptions;
37
+ loggerOptions: Partial<LoggerOptions>;
37
38
  /**
38
39
  * **Axios Cache Options**
39
40
  * Options for cache.
40
41
  * @see https://axios-cache-interceptor.js.org/#/pages/configuration
41
42
  */
42
- cacheOptions?: CacheOptions;
43
+ cacheOptions: Partial<CacheOptions>;
43
44
  /**
44
45
  * **Base URL**
45
46
  * Location of the JikanAPI. Leave empty to use the official JikanAPI instance.
46
47
  */
47
- baseURL?: string;
48
+ baseURL: string;
48
49
  }
49
50
  /**
50
51
  * **Base Client** This client is responsible for creating an Axios Instance and the cache and logging configurations
51
52
  */
52
53
  export declare abstract class BaseClient {
53
54
  api: AxiosCacheInstance;
54
- logger: Logger<ILogObj> | undefined;
55
- protected constructor(clientOptions?: ClientArgs);
55
+ protected constructor(clientOptions?: Partial<ClientArgs>);
56
56
  private addHttpInterceptors;
57
57
  }
58
58
  export interface JikanResource {
@@ -319,7 +319,7 @@ export declare enum MangaType {
319
319
  lightnovel = "Lightnovel",
320
320
  oneshot = "Oneshot",
321
321
  doujin = "Doujin",
322
- manwha = "Manwha",
322
+ manhwa = "Manhwa",
323
323
  manhua = "Manhua"
324
324
  }
325
325
  export declare enum MangaStatus {
@@ -373,20 +373,20 @@ export declare enum MangaSearchOrder {
373
373
  volumes = "volumes"
374
374
  }
375
375
  export interface JikanSearchParams {
376
- q?: string;
377
- page?: number;
378
- limit?: number;
379
- score?: number;
380
- min_score?: number;
381
- max_score?: number;
382
- sfw?: boolean;
383
- genres?: string;
384
- genres_exclude?: string;
385
- sort?: SortOptions | string;
386
- letter?: string;
387
- producers?: string;
388
- start_date?: string;
389
- end_date?: string;
376
+ q: string;
377
+ page: number;
378
+ limit: number;
379
+ score: number;
380
+ min_score: number;
381
+ max_score: number;
382
+ sfw: boolean;
383
+ genres: string;
384
+ genres_exclude: string;
385
+ sort: SortOptions | string;
386
+ letter: string;
387
+ producers: string;
388
+ start_date: string;
389
+ end_date: string;
390
390
  }
391
391
  /**
392
392
  * QueryParams used in **getMangaSearch** call
@@ -394,10 +394,10 @@ export interface JikanSearchParams {
394
394
  * See also: [Jikan API Documentation](https://docs.api.jikan.moe/#tag/manga/operation/getMangaSearch)
395
395
  */
396
396
  export interface MangaSearchParams extends JikanSearchParams {
397
- type?: MangaType | string;
398
- status?: MangaStatus | string;
399
- order_by?: MangaSearchOrder | SearchOrder | string;
400
- magazines?: string;
397
+ type: MangaType | string;
398
+ status: MangaStatus | string;
399
+ order_by: MangaSearchOrder | SearchOrder | string;
400
+ magazines: string;
401
401
  }
402
402
  /**
403
403
  * QueryParams used in **getAnimeSearch** call
@@ -405,10 +405,10 @@ export interface MangaSearchParams extends JikanSearchParams {
405
405
  * See also: [Jikan API Documentation](https://docs.api.jikan.moe/#tag/anime/operation/getAnimeSearch)
406
406
  */
407
407
  export interface AnimeSearchParams extends JikanSearchParams {
408
- type?: AnimeType | string;
409
- status?: AnimeStatus | string;
410
- rating?: AnimeRating | string;
411
- order_by?: AnimeSearchOrder | SearchOrder | string;
408
+ type: AnimeType | string;
409
+ status: AnimeStatus | string;
410
+ rating: AnimeRating | string;
411
+ order_by: AnimeSearchOrder | SearchOrder | string;
412
412
  }
413
413
  export declare enum TopAnimeFilter {
414
414
  airing = "airing",
@@ -423,8 +423,8 @@ export declare enum TopMangaFilter {
423
423
  favorite = "favorite"
424
424
  }
425
425
  export interface JikanTopParams {
426
- page?: number;
427
- limit?: number;
426
+ page: number;
427
+ limit: number;
428
428
  }
429
429
  /**
430
430
  * QueryParams used in **getTopAnime** call
@@ -432,8 +432,8 @@ export interface JikanTopParams {
432
432
  * See also: [Jikan API Documentation](https://docs.api.jikan.moe/#tag/top/operation/getTopAnime)
433
433
  */
434
434
  export interface AnimeTopParams extends JikanTopParams {
435
- type?: AnimeType;
436
- filter?: TopAnimeFilter;
435
+ type: AnimeType;
436
+ filter: TopAnimeFilter;
437
437
  }
438
438
  /**
439
439
  * QueryParams used in **getTopManga** call
@@ -441,7 +441,7 @@ export interface AnimeTopParams extends JikanTopParams {
441
441
  * See also: [Jikan API Documentation](https://docs.api.jikan.moe/#tag/top/operation/getTopManga)
442
442
  */
443
443
  export interface MangaTopParams extends JikanTopParams {
444
- type?: MangaType;
444
+ type: MangaType;
445
445
  filter: TopMangaFilter;
446
446
  }
447
447
  /**
@@ -467,13 +467,13 @@ export declare class AnimeClient extends BaseClient {
467
467
  /**
468
468
  * @argument clientOptions Options for the client.
469
469
  */
470
- constructor(clientOptions?: ClientArgs);
470
+ constructor(clientOptions?: Partial<ClientArgs>);
471
471
  /**
472
472
  * Get all the Animes within the given filter. Returns all the Animes if no filters are given.
473
473
  * @param searchParams Filter parameters
474
474
  * @returns JikanResponse with Anime array data
475
475
  */
476
- getAnimeSearch(searchParams?: AnimeSearchParams): Promise<JikanResponse<Anime[]>>;
476
+ getAnimeSearch(searchParams?: Partial<AnimeSearchParams>): Promise<JikanResponse<Anime[]>>;
477
477
  /**
478
478
  * Get a complete Anime resource data
479
479
  * @param mal_id The Anime ID
@@ -560,13 +560,13 @@ export declare class MangaClient extends BaseClient {
560
560
  /**
561
561
  * @argument clientOptions Options for the client.
562
562
  */
563
- constructor(clientOptions?: ClientArgs);
563
+ constructor(clientOptions?: Partial<ClientArgs>);
564
564
  /**
565
565
  * Get all the filtered Mangas. Returns all the Mangas if no filters are given.
566
566
  * @param searchParams Filter parameters
567
567
  * @returns JikanResponse with Manga array data
568
568
  */
569
- getMangaSearch(searchParams?: MangaSearchParams): Promise<JikanResponse<Manga[]>>;
569
+ getMangaSearch(searchParams?: Partial<MangaSearchParams>): Promise<JikanResponse<Manga[]>>;
570
570
  /**
571
571
  * Get a Manga with full information by its ID
572
572
  * @param mal_id The Manga ID
@@ -617,19 +617,19 @@ export declare class TopClient extends BaseClient {
617
617
  /**
618
618
  * @argument clientOptions Options for the client.
619
619
  */
620
- constructor(clientOptions?: ClientArgs);
620
+ constructor(clientOptions?: Partial<ClientArgs>);
621
621
  /**
622
622
  * Get the top Animes
623
623
  * @param searchParams Filter parameters
624
624
  * @returns JikanResponse with Anime array data
625
625
  */
626
- getTopAnime(searchParams?: AnimeTopParams): Promise<JikanResponse<Anime[]>>;
626
+ getTopAnime(searchParams?: Partial<AnimeTopParams>): Promise<JikanResponse<Anime[]>>;
627
627
  /**
628
628
  * Get the top Mangas
629
629
  * @param searchParams Filter parameters
630
630
  * @returns JikanResponse with Manga array data
631
631
  */
632
- getTopManga(searchParams?: MangaTopParams): Promise<JikanResponse<Manga[]>>;
632
+ getTopManga(searchParams?: Partial<MangaTopParams>): Promise<JikanResponse<Manga[]>>;
633
633
  }
634
634
  /**
635
635
  * **Jikan Client**
@@ -641,11 +641,11 @@ export declare class TopClient extends BaseClient {
641
641
  *
642
642
  * See also: [JikanAPI Documentation](https://docs.api.jikan.moe/)
643
643
  */
644
- export declare class JikanClient extends BaseClient {
644
+ export declare class JikanClient {
645
645
  anime: AnimeClient;
646
646
  manga: MangaClient;
647
647
  top: TopClient;
648
- constructor(clientOptions?: ClientArgs);
648
+ constructor(clientOptions?: Partial<ClientArgs>);
649
649
  }
650
650
  export declare enum BaseURL {
651
651
  REST = "https://api.jikan.moe/v4"
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{setupCache as L}from"axios-cache-interceptor";import _ from"axios";var R=(n=>(n.REST="https://api.jikan.moe/v4",n))(R||{});var l=(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))(l||{}),A=(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))(A||{}),x=(s=>(s.TopAnime="/top/anime",s.TopManga="/top/manga",s))(x||{});import{buildMemoryStorage as y,defaultHeaderInterpreter as E,defaultKeyGenerator as I}from"axios-cache-interceptor";var g={storage:y(),generateKey:I,headerInterpreter:E,debug:void 0};import{Logger as S}from"tslog";var M={prettyLogTemplate:"{{yyyy}}.{{mm}}.{{dd}} {{hh}}:{{MM}}:{{ss}}:{{ms}} {{logLevelName}} [{{name}}] ",name:"Jikan-ts Logger"},f=(o=M)=>new S(o),k=(o,n)=>(n!==void 0&&n.info(`[Request Config] ${o.method?.toUpperCase()||""} | ${o.url||""}`),o),J=(o,n)=>{throw n!==void 0&&n.error(`[Request Error] CODE ${o.code||"UNKNOWN"} | ${o.message}`),o},b=(o,n)=>(n!==void 0&&(n.info(),console.log(o.data)),o),C=(o,n)=>{throw n!==void 0&&n.error(`[ Response Error ] CODE ${o.code||"UNKNOWN"} | ${o.message}`),o};var c=class{api;logger;constructor(n){this.api=L(_.create({baseURL:n?.baseURL??"https://api.jikan.moe/v4",headers:{"Content-Type":"application/json"}}),{storage:n?.cacheOptions?.storage??g.storage,generateKey:n?.cacheOptions?.generateKey??g.generateKey,headerInterpreter:n?.cacheOptions?.headerInterpreter??g.headerInterpreter,debug:n?.cacheOptions?.debug??g.debug}),n?.loggerOptions?.enabled&&(this.logger=f(n.loggerOptions.settings)),this.addHttpInterceptors()}addHttpInterceptors(){this.api.interceptors.request.use(n=>k(n,this.logger),n=>J(n,this.logger)),this.api.interceptors.response.use(n=>b(n,this.logger),n=>C(n,this.logger))}};var u=class extends c{constructor(n){super(n)}async getAnimeSearch(n){return new Promise((s,r)=>{let i=`${"/anime"}`;this.api.get(i,{params:n}).then(e=>s(e.data)).catch(e=>r(e))})}async getAnimeFullById(n){return new Promise((s,r)=>{let i=`${"/anime/{id}/full".replace("{id}",String(n))}`;this.api.get(i).then(e=>s(e.data)).catch(e=>r(e))})}async getAnimeById(n){return new Promise((s,r)=>{let i=`${"/anime/{id}".replace("{id}",String(n))}`;this.api.get(i).then(e=>s(e.data)).catch(e=>r(e))})}async getAnimeCharacters(n){return new Promise((s,r)=>{let i=`${"/anime/{id}/characters".replace("{id}",String(n))}`;this.api.get(i).then(e=>s(e.data)).catch(e=>r(e))})}async getAnimeStaff(n){return new Promise((s,r)=>{let i=`${"/anime/{id}/staff".replace("{id}",String(n))}`;this.api.get(i).then(e=>s(e.data)).catch(e=>r(e))})}async getAnimeEpisodes(n){return new Promise((s,r)=>{let i=`${"/anime/{id}/episodes".replace("{id}",String(n))}`;this.api.get(i).then(e=>s(e.data)).catch(e=>r(e))})}async getAnimeEpisodeById(n,s){return new Promise((r,i)=>{let e=`${"/anime/{id}/episodes/{episode}".replace("{id}",String(n)).replace("{episode}",String(s))}`;this.api.get(e).then(a=>r(a.data)).catch(a=>i(a))})}async getAnimeVideos(n){return new Promise((s,r)=>{let i=`${"/anime/{id}/videos".replace("{id}",String(n))}`;this.api.get(i).then(e=>s(e.data)).catch(e=>r(e))})}async getAnimeEpisodeVideos(n){return new Promise((s,r)=>{let i=`${"/anime/{id}/videos/episodes".replace("{id}",String(n))}`;this.api.get(i).then(e=>s(e.data)).catch(e=>r(e))})}async getAnimePictures(n){return new Promise((s,r)=>{let i=`${"/anime/{id}/pictures".replace("{id}",String(n))}`;this.api.get(i).then(e=>s(e.data)).catch(e=>r(e))})}async getAnimeStatistics(n){return new Promise((s,r)=>{let i=`${"/anime/{id}/statistics".replace("{id}",String(n))}`;this.api.get(i).then(e=>s(e.data)).catch(e=>r(e))})}async getAnimeRecommendations(n){return new Promise((s,r)=>{let i=`${"/anime/{id}/recommendations".replace("{id}",String(n))}`;this.api.get(i).then(e=>s(e.data)).catch(e=>r(e))})}};var d=class extends c{constructor(n){super(n)}async getMangaSearch(n){return new Promise((s,r)=>{let i=`${"/manga"}`;this.api.get(i,{params:n}).then(e=>s(e.data)).catch(e=>r(e))})}async getMangaFullById(n){return new Promise((s,r)=>{let i=`${"/manga/{id}/full".replace("{id}",String(n))}`;this.api.get(i).then(e=>s(e.data)).catch(e=>r(e))})}async getMangaById(n){return new Promise((s,r)=>{let i=`${"/manga/{id}".replace("{id}",String(n))}`;this.api.get(i).then(e=>s(e.data)).catch(e=>r(e))})}async getMangaCharacters(n){return new Promise((s,r)=>{let i=`${"/manga/{id}/characters".replace("{id}",String(n))}`;this.api.get(i).then(e=>s(e.data)).catch(e=>r(e))})}async getMangaPictures(n){return new Promise((s,r)=>{let i=`${"/manga/{id}/pictures".replace("{id}",String(n))}`;this.api.get(i).then(e=>s(e.data)).catch(e=>r(e))})}async getMangaStatistics(n){return new Promise((s,r)=>{let i=`${"/manga/{id}/statistics".replace("{id}",String(n))}`;this.api.get(i).then(e=>s(e.data)).catch(e=>r(e))})}async getMangaRecommendations(n){return new Promise((s,r)=>{let i=`${"/manga/{id}/recommendations".replace("{id}",String(n))}`;this.api.get(i).then(e=>s(e.data)).catch(e=>r(e))})}};var h=class extends c{constructor(n){super(n)}async getTopAnime(n){return new Promise((s,r)=>{let i=`${"/top/anime"}`;this.api.get(i,{params:n}).then(e=>s(e.data)).catch(e=>r(e))})}async getTopManga(n){return new Promise((s,r)=>{let i=`${"/top/manga"}`;this.api.get(i,{params:n}).then(e=>s(e.data)).catch(e=>r(e))})}};var P=class extends c{anime;manga;top;constructor(n){super(n),this.anime=new u(n),this.manga=new d(n),this.top=new h(n)}};var w=(a=>(a.tv="TV",a.movie="Movie",a.ova="Ova",a.special="Special",a.ona="Ona",a.music="Music",a))(w||{}),v=(r=>(r.finished="Finished Airing",r.airing="Currently Airing",r.complete="Complete",r))(v||{}),$=(a=>(a.g="g",a.pg="pg",a.pg13="pg13",a.r17="r17",a.r="r",a.rx="rx",a))($||{}),T=(i=>(i.spring="spring",i.summer="summer",i.fall="fall",i.winter="winter",i))(T||{});var B=(s=>(s.main="Main",s.supporting="Supporting",s))(B||{});var V=(t=>(t.manga="Manga",t.novel="Novel",t.lightnovel="Lightnovel",t.oneshot="Oneshot",t.doujin="Doujin",t.manwha="Manwha",t.manhua="Manhua",t))(V||{}),j=(e=>(e.publishing="Publishing",e.complete="Complete",e.hiatus="Hiatus",e.discontinued="Discontinued",e.upcoming="Upcoming",e))(j||{});var N=(s=>(s.asc="asc",s.desc="desc",s))(N||{}),O=(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))(O||{}),q=(r=>(r.type="type",r.rating="rating",r.episodes="episodes",r))(q||{}),U=(s=>(s.chapters="chapters",s.volumes="volumes",s))(U||{});var D=(i=>(i.airing="airing",i.upcoming="upcoming",i.bypopularity="bypopularity",i.favorite="favorite",i))(D||{}),K=(i=>(i.publishing="publishing",i.upcoming="upcoming",i.bypopularity="bypopularity",i.favorite="favorite",i))(K||{});export{u as AnimeClient,l as AnimeEndpoints,$ as AnimeRating,q as AnimeSearchOrder,T as AnimeSeason,v as AnimeStatus,w as AnimeType,c as BaseClient,R as BaseURL,B as CharacterRole,g as DEFAULT_CACHE_OPTIONS,M as DEFAULT_LOGGER_SETTINGS,P as JikanClient,d as MangaClient,A as MangaEndpoints,U as MangaSearchOrder,j as MangaStatus,V as MangaType,O as SearchOrder,N as SortOptions,D as TopAnimeFilter,h as TopClient,x as TopEndpoints,K as TopMangaFilter,f as createLogger,k as handleRequest,J as handleRequestError,b as handleResponse,C 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){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};
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@tutkli/jikan-ts",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
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",
7
7
  "types": "dist/index.d.ts",
8
8
  "type": "module",
9
+ "sideEffects": false,
9
10
  "scripts": {
10
11
  "prebuild": "rimraf dist",
11
12
  "build": "yarn run esbuild && yarn run build-types",
@@ -36,27 +37,27 @@
36
37
  },
37
38
  "homepage": "https://github.com/tutkli/jikan-ts#readme",
38
39
  "dependencies": {
39
- "axios": "1.2.1",
40
+ "axios": "1.2.2",
40
41
  "axios-cache-interceptor": "1.0.0",
41
42
  "tslog": "4.7.1"
42
43
  },
43
44
  "devDependencies": {
44
- "@swc/core": "1.3.24",
45
+ "@swc/core": "1.3.25",
45
46
  "@swc/jest": "^0.2.23",
46
- "@types/jest": "29.2.4",
47
+ "@types/jest": "29.2.5",
47
48
  "@types/node": "18.11.18",
48
- "@typescript-eslint/eslint-plugin": "5.47.1",
49
- "@typescript-eslint/parser": "5.47.1",
49
+ "@typescript-eslint/eslint-plugin": "5.48.1",
50
+ "@typescript-eslint/parser": "5.48.1",
50
51
  "dts-bundle-generator": "^7.1.0",
51
- "esbuild": "0.16.12",
52
+ "esbuild": "0.16.16",
52
53
  "esbuild-node-externals": "^1.6.0",
53
- "eslint": "8.30.0",
54
- "eslint-config-prettier": "^8.5.0",
55
- "eslint-plugin-jest": "^27.1.4",
54
+ "eslint": "8.31.0",
55
+ "eslint-config-prettier": "8.6.0",
56
+ "eslint-plugin-jest": "27.2.1",
56
57
  "eslint-plugin-node": "^11.1.0",
57
58
  "eslint-plugin-prettier": "^4.2.1",
58
59
  "jest": "^29.3.1",
59
- "prettier": "^2.7.1",
60
+ "prettier": "2.8.2",
60
61
  "rimraf": "^3.0.2",
61
62
  "typescript": "4.9.4"
62
63
  }