@tutkli/jikan-ts 2.2.0 → 3.0.0

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.
Files changed (102) hide show
  1. package/README.md +60 -65
  2. package/dist/chunk-b9f01kcn.js +1 -0
  3. package/dist/chunk-ygw2424n.js +1 -0
  4. package/dist/client.d.ts +19 -0
  5. package/dist/client.js +1 -0
  6. package/dist/clients/anime.client.d.ts +123 -0
  7. package/dist/clients/base.client.d.ts +45 -0
  8. package/dist/clients/characters.client.d.ts +46 -0
  9. package/dist/clients/clubs.client.d.ts +39 -0
  10. package/dist/clients/genres.client.d.ts +21 -0
  11. package/dist/clients/jikan.client.d.ts +41 -0
  12. package/dist/clients/magazines.client.d.ts +9 -0
  13. package/dist/clients/manga.client.d.ts +84 -0
  14. package/dist/clients/people.client.d.ts +46 -0
  15. package/dist/clients/producers.client.d.ts +31 -0
  16. package/dist/clients/random.client.d.ts +27 -0
  17. package/dist/clients/recommendations.client.d.ts +21 -0
  18. package/dist/clients/reviews.client.d.ts +21 -0
  19. package/dist/clients/schedules.client.d.ts +16 -0
  20. package/dist/clients/seasons.client.d.ts +32 -0
  21. package/dist/clients/top.client.d.ts +36 -0
  22. package/dist/clients/watch.client.d.ts +27 -0
  23. package/dist/config/cache.d.ts +11 -0
  24. package/dist/config/ky.config.d.ts +11 -0
  25. package/dist/config/logging.config.d.ts +4 -0
  26. package/dist/constants/base.const.d.ts +1 -0
  27. package/dist/endpoints/anime.endpoints.d.ts +23 -0
  28. package/dist/endpoints/characters.endpoints.d.ts +9 -0
  29. package/dist/endpoints/clubs.endpoints.d.ts +7 -0
  30. package/dist/endpoints/genres.endpoints.d.ts +4 -0
  31. package/dist/endpoints/magazines.endpoints.d.ts +3 -0
  32. package/dist/endpoints/manga.endpoints.d.ts +16 -0
  33. package/dist/endpoints/people.endpoints.d.ts +9 -0
  34. package/dist/endpoints/producers.endpoints.d.ts +6 -0
  35. package/dist/endpoints/random.endpoints.d.ts +7 -0
  36. package/dist/endpoints/recommendations.endpoints.d.ts +4 -0
  37. package/dist/endpoints/reviews.endpoints.d.ts +4 -0
  38. package/dist/endpoints/schedules.endpoints.d.ts +3 -0
  39. package/dist/endpoints/seasons.endpoints.d.ts +6 -0
  40. package/dist/endpoints/top.endpoints.d.ts +7 -0
  41. package/dist/endpoints/watch.endpoints.d.ts +6 -0
  42. package/dist/index.d.ts +1 -1049
  43. package/dist/index.js +1 -1
  44. package/dist/models/Anime/anime-character.model.d.ts +4 -0
  45. package/dist/models/Anime/anime-episode.model.d.ts +12 -0
  46. package/dist/models/Anime/anime-picture.model.d.ts +4 -0
  47. package/dist/models/Anime/anime-staff.model.d.ts +5 -0
  48. package/dist/models/Anime/anime-statistics.model.d.ts +5 -0
  49. package/dist/models/Anime/anime-video.model.d.ts +32 -0
  50. package/dist/models/Anime/anime.model.d.ts +60 -0
  51. package/dist/models/Anime/index.d.ts +7 -0
  52. package/dist/models/Character/character.model.d.ts +28 -0
  53. package/dist/models/Character/index.d.ts +1 -0
  54. package/dist/models/Common/character.model.d.ts +18 -0
  55. package/dist/models/Common/external-link.model.d.ts +4 -0
  56. package/dist/models/Common/forum.model.d.ts +16 -0
  57. package/dist/models/Common/image.model.d.ts +11 -0
  58. package/dist/models/Common/index.d.ts +12 -0
  59. package/dist/models/Common/more-info.model.d.ts +3 -0
  60. package/dist/models/Common/news.model.d.ts +13 -0
  61. package/dist/models/Common/person.model.d.ts +7 -0
  62. package/dist/models/Common/recommendation.model.d.ts +12 -0
  63. package/dist/models/Common/relation.model.d.ts +10 -0
  64. package/dist/models/Common/resource.model.d.ts +35 -0
  65. package/dist/models/Common/seasons-list.model.d.ts +5 -0
  66. package/dist/models/Common/statistics.model.d.ts +12 -0
  67. package/dist/models/Genre/genre.model.d.ts +5 -0
  68. package/dist/models/Genre/index.d.ts +1 -0
  69. package/dist/models/Manga/index.d.ts +2 -0
  70. package/dist/models/Manga/manga-statistics.model.d.ts +5 -0
  71. package/dist/models/Manga/manga.model.d.ts +37 -0
  72. package/dist/models/Params/characters-params.model.d.ts +10 -0
  73. package/dist/models/Params/genres-params.model.d.ts +1 -0
  74. package/dist/models/Params/index.d.ts +7 -0
  75. package/dist/models/Params/pagination-params.model.d.ts +3 -0
  76. package/dist/models/Params/schedules-params.model.d.ts +9 -0
  77. package/dist/models/Params/search-params.model.d.ts +47 -0
  78. package/dist/models/Params/seasons-params.model.d.ts +12 -0
  79. package/dist/models/Params/top-params.model.d.ts +28 -0
  80. package/dist/models/Person/index.d.ts +2 -0
  81. package/dist/models/Person/person-params.model.d.ts +10 -0
  82. package/dist/models/Person/person.model.d.ts +50 -0
  83. package/dist/models/Producer/index.d.ts +2 -0
  84. package/dist/models/Producer/producer-params.model.d.ts +10 -0
  85. package/dist/models/Producer/producer.model.d.ts +14 -0
  86. package/dist/models/Recommendation/index.d.ts +1 -0
  87. package/dist/models/Recommendation/recommendation.model.d.ts +18 -0
  88. package/dist/models/Response/index.d.ts +1 -0
  89. package/dist/models/Response/response.model.d.ts +15 -0
  90. package/dist/models/Review/index.d.ts +2 -0
  91. package/dist/models/Review/review-params.model.d.ts +5 -0
  92. package/dist/models/Review/review.model.d.ts +42 -0
  93. package/dist/models/UserUpdate/index.d.ts +1 -0
  94. package/dist/models/UserUpdate/user-update.model.d.ts +24 -0
  95. package/dist/models/clubs/clubs-params.model.d.ts +14 -0
  96. package/dist/models/clubs/clubs.model.d.ts +25 -0
  97. package/dist/models/index.d.ts +12 -0
  98. package/dist/models/magazine/magazine.model.d.ts +16 -0
  99. package/dist/models/watch/watch.model.d.ts +21 -0
  100. package/dist/types.d.ts +21 -0
  101. package/dist/types.js +1 -0
  102. package/package.json +61 -35
@@ -0,0 +1,10 @@
1
+ import type { SortOptions } from '../Params';
2
+ export type ProducersSearchOrder = 'mal_id' | 'count' | 'favorites' | 'established';
3
+ export interface ProducersSearchParams {
4
+ page?: number;
5
+ limit?: number;
6
+ q?: string;
7
+ order_by?: ProducersSearchOrder;
8
+ sort?: SortOptions;
9
+ letter?: string;
10
+ }
@@ -0,0 +1,14 @@
1
+ import type { JikanImages, JikanNamedResource, JikanResourceTitle } from '../Common';
2
+ export interface Producer {
3
+ mal_id: number;
4
+ url: string;
5
+ titles: JikanResourceTitle[];
6
+ images: JikanImages;
7
+ favorites: number;
8
+ established: string | null;
9
+ about: string | null;
10
+ count: number;
11
+ }
12
+ export interface ProducerFull extends Producer {
13
+ external: JikanNamedResource[];
14
+ }
@@ -0,0 +1 @@
1
+ export * from './recommendation.model';
@@ -0,0 +1,18 @@
1
+ import type { JikanImages } from '../Common';
2
+ export interface RecentRecommendation {
3
+ mal_id: string;
4
+ entry: RecentRecommendationEntry[];
5
+ content: string;
6
+ date: string;
7
+ user: RecentRecommendationUser;
8
+ }
9
+ export interface RecentRecommendationEntry {
10
+ mal_id: number;
11
+ url: string;
12
+ images: JikanImages;
13
+ title: string;
14
+ }
15
+ export interface RecentRecommendationUser {
16
+ url: string;
17
+ username: string;
18
+ }
@@ -0,0 +1 @@
1
+ export * from './response.model';
@@ -0,0 +1,15 @@
1
+ export interface JikanPagination {
2
+ last_visible_page: number;
3
+ has_next_page: boolean;
4
+ current_page?: number;
5
+ items?: JikanPaginationItems;
6
+ }
7
+ export interface JikanPaginationItems {
8
+ count: number;
9
+ total: number;
10
+ per_page: number;
11
+ }
12
+ export interface JikanResponse<T> {
13
+ data: T;
14
+ pagination?: JikanPagination;
15
+ }
@@ -0,0 +1,2 @@
1
+ export * from './review.model';
2
+ export * from './review-params.model';
@@ -0,0 +1,5 @@
1
+ export interface ReviewsParams {
2
+ page?: number;
3
+ preliminary?: boolean;
4
+ spoilers?: boolean;
5
+ }
@@ -0,0 +1,42 @@
1
+ import type { JikanImages } from '../Common';
2
+ export interface Review {
3
+ mal_id: number;
4
+ url: string;
5
+ type: string;
6
+ reactions: ReviewReactions;
7
+ date: string;
8
+ review: string;
9
+ score: number;
10
+ tags: string[];
11
+ is_spoiler: boolean;
12
+ is_preliminary: boolean;
13
+ entry: ReviewEntry;
14
+ user: ReviewUser;
15
+ }
16
+ export interface AnimeReview extends Review {
17
+ episodes_watched: number | null;
18
+ }
19
+ export interface MangaReview extends Review {
20
+ chapters_read: number | null;
21
+ }
22
+ export interface ReviewReactions {
23
+ overall: number;
24
+ nice: number;
25
+ love_it: number;
26
+ funny: number;
27
+ confusing: number;
28
+ informative: number;
29
+ well_written: number;
30
+ creative: number;
31
+ }
32
+ export interface ReviewEntry {
33
+ mal_id: number;
34
+ url: string;
35
+ images: JikanImages;
36
+ title: string;
37
+ }
38
+ export interface ReviewUser {
39
+ url: string;
40
+ username: string;
41
+ images: JikanImages;
42
+ }
@@ -0,0 +1 @@
1
+ export * from './user-update.model';
@@ -0,0 +1,24 @@
1
+ import type { JikanImages } from '../Common';
2
+ export interface UserUpdateUser {
3
+ username: string;
4
+ url: string;
5
+ images: JikanImages;
6
+ }
7
+ export interface AnimeUserUpdate {
8
+ user: UserUpdateUser;
9
+ score: number | null;
10
+ status: string;
11
+ episodes_seen: number | null;
12
+ episodes_total: number | null;
13
+ date: string;
14
+ }
15
+ export interface MangaUserUpdate {
16
+ user: UserUpdateUser;
17
+ score: number | null;
18
+ status: string;
19
+ volumes_read: number;
20
+ volumes_total: number;
21
+ chapters_read: number;
22
+ chapters_total: number;
23
+ date: string;
24
+ }
@@ -0,0 +1,14 @@
1
+ import type { SortOptions } from '../Params';
2
+ export type ClubSearchType = 'public' | 'private' | 'secret';
3
+ export type ClubSearchCategory = 'anime' | 'manga' | 'actors_and_artists' | 'characters' | 'cities_and_neighborhoods' | 'companies' | 'conventions' | 'games' | 'japan' | 'music' | 'other' | 'schools';
4
+ export type ClubSearchOrder = 'mal_id' | 'name' | 'members_count' | 'created';
5
+ export type ClubSearchParams = {
6
+ page?: number;
7
+ limit?: number;
8
+ q?: string;
9
+ type?: ClubSearchType;
10
+ category?: ClubSearchCategory;
11
+ order_by?: ClubSearchOrder;
12
+ sort?: SortOptions;
13
+ letter?: string;
14
+ };
@@ -0,0 +1,25 @@
1
+ import type { JikanImages, RelationEntry } from '../Common';
2
+ export type Club = {
3
+ mal_id: number;
4
+ name: string;
5
+ url: string;
6
+ images: JikanImages;
7
+ members: number;
8
+ category: string;
9
+ created: string;
10
+ access: string;
11
+ };
12
+ export type ClubMember = {
13
+ username: string;
14
+ url: string;
15
+ images: JikanImages;
16
+ };
17
+ export type ClubStaff = {
18
+ url: string;
19
+ username: string;
20
+ };
21
+ export type ClubRelations = {
22
+ anime: RelationEntry[];
23
+ manga: RelationEntry[];
24
+ characters: RelationEntry[];
25
+ };
@@ -0,0 +1,12 @@
1
+ export * from './Anime';
2
+ export * from './Character';
3
+ export * from './Common';
4
+ export * from './Genre';
5
+ export * from './Manga';
6
+ export * from './Params';
7
+ export * from './Person';
8
+ export * from './Producer';
9
+ export * from './Recommendation';
10
+ export * from './Response';
11
+ export * from './Review';
12
+ export * from './UserUpdate';
@@ -0,0 +1,16 @@
1
+ import type { SortOptions } from '../Params';
2
+ export type Magazine = {
3
+ mal_id: number;
4
+ name: string;
5
+ url: string;
6
+ count: number;
7
+ };
8
+ export type MagazineSearchOrder = 'mal_id' | 'name' | 'count';
9
+ export type MagazineSearchParams = {
10
+ page?: number;
11
+ limit?: number;
12
+ q?: string;
13
+ order_by?: MagazineSearchOrder;
14
+ sort?: SortOptions;
15
+ letter?: string;
16
+ };
@@ -0,0 +1,21 @@
1
+ import type { AnimePromoVideo } from '../Anime';
2
+ import type { JikanImages } from '../Common';
3
+ export type WatchEpisode = {
4
+ entry: EpisodeEntry;
5
+ episodes: {
6
+ mal_id: string;
7
+ url: string;
8
+ title: string;
9
+ premium: boolean;
10
+ }[];
11
+ region_locked: boolean;
12
+ };
13
+ export type WatchEpisodePromo = AnimePromoVideo & {
14
+ entry: EpisodeEntry;
15
+ };
16
+ export type EpisodeEntry = {
17
+ mal_id: number;
18
+ url: string;
19
+ images: JikanImages;
20
+ title: string;
21
+ };
@@ -0,0 +1,21 @@
1
+ export * from './constants/base.const';
2
+ export * from './endpoints/anime.endpoints';
3
+ export * from './endpoints/characters.endpoints';
4
+ export * from './endpoints/clubs.endpoints';
5
+ export * from './endpoints/genres.endpoints';
6
+ export * from './endpoints/magazines.endpoints';
7
+ export * from './endpoints/manga.endpoints';
8
+ export * from './endpoints/people.endpoints';
9
+ export * from './endpoints/producers.endpoints';
10
+ export * from './endpoints/random.endpoints';
11
+ export * from './endpoints/recommendations.endpoints';
12
+ export * from './endpoints/reviews.endpoints';
13
+ export * from './endpoints/schedules.endpoints';
14
+ export * from './endpoints/seasons.endpoints';
15
+ export * from './endpoints/top.endpoints';
16
+ export * from './endpoints/watch.endpoints';
17
+ export * from './models';
18
+ export * from './models/clubs/clubs.model';
19
+ export * from './models/clubs/clubs-params.model';
20
+ export * from './models/magazine/magazine.model';
21
+ export * from './models/watch/watch.model';
package/dist/types.js ADDED
@@ -0,0 +1 @@
1
+ import{A as g,B as h,C as i,D as j,E as k,F as l,G as m,H as n,I as o,J as p,u as a,v as b,w as c,x as d,y as e,z as f}from"./chunk-ygw2424n.js";export{p as WatchEndpoints,o as TopEndpoints,n as SeasonsEndpoints,m as SchedulesEndpoints,l as ReviewsEndpoints,k as RecommendationsEndpoints,j as RandomEndpoints,i as ProducersEndpoints,h as PeopleEndpoints,g as MangaEndpoints,f as MagazinesEndpoints,e as GenresEndpoints,d as ClubsEndpoints,c as CharactersEndpoints,b as BASE_URL,a as AnimeEndpoints};
package/package.json CHANGED
@@ -1,51 +1,77 @@
1
1
  {
2
2
  "name": "@tutkli/jikan-ts",
3
- "version": "2.2.0",
3
+ "version": "3.0.0",
4
4
  "description": "Node.js wrapper for the Jikan API with built-in typings.",
5
+ "keywords": [
6
+ "MyAnimeList",
7
+ "jikan",
8
+ "jikan-api",
9
+ "jikanAPI"
10
+ ],
11
+ "homepage": "https://github.com/tutkli/jikan-ts#readme",
12
+ "bugs": {
13
+ "url": "https://github.com/tutkli/jikan-ts/issues"
14
+ },
15
+ "license": "MIT",
16
+ "author": {
17
+ "name": "Clara Castillo",
18
+ "url": "https://github.com/tutkli"
19
+ },
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/tutkli/jikan-ts.git"
23
+ },
5
24
  "source": "src/index.ts",
25
+ "files": [
26
+ "dist/",
27
+ "README.md",
28
+ "LICENSE"
29
+ ],
30
+ "type": "module",
6
31
  "main": "dist/index.js",
7
32
  "types": "dist/index.d.ts",
8
- "type": "module",
33
+ "exports": {
34
+ ".": {
35
+ "types": "./dist/index.d.ts",
36
+ "import": "./dist/index.js"
37
+ },
38
+ "./types": {
39
+ "types": "./dist/types.d.ts",
40
+ "import": "./dist/types.js"
41
+ },
42
+ "./client": {
43
+ "types": "./dist/client.d.ts",
44
+ "import": "./dist/client.js"
45
+ }
46
+ },
9
47
  "scripts": {
48
+ "build": "bun bun.build.js && tsc --emitDeclarationOnly --outDir dist",
49
+ "fmt": "oxfmt",
50
+ "fmt:check": "oxfmt --check",
51
+ "lint": "oxlint",
52
+ "lint:fix": "oxlint --fix",
10
53
  "prepare": "git config core.hookspath .githooks",
11
- "build": "bun bun.build.js",
12
54
  "prepublishOnly": "bun run build",
13
- "test:dev": "bun test",
14
55
  "test:coverage": "bun test --coverage",
15
- "version": "auto-changelog -p -l false && git add CHANGELOG.md",
16
- "format": "biome format ./src",
17
- "format:fix": "biome format --write ./src",
18
- "lint": "biome check ./src",
19
- "lint:fix": "biome check --write --unsafe ./src"
20
- },
21
- "files": ["dist/", "README.md", "LICENSE"],
22
- "repository": {
23
- "type": "git",
24
- "url": "https://github.com/tutkli/jikan-ts.git"
25
- },
26
- "keywords": ["jikan", "jikan-api", "jikanAPI", "MyAnimeList"],
27
- "author": {
28
- "name": "Clara Castillo",
29
- "url": "https://github.com/tutkli"
56
+ "test:dev": "bun test",
57
+ "version": "conventional-changelog -p conventionalcommits -i CHANGELOG.md -s && git add CHANGELOG.md"
30
58
  },
31
- "license": "MIT",
32
- "bugs": {
33
- "url": "https://github.com/tutkli/jikan-ts/issues"
59
+ "devDependencies": {
60
+ "@types/bun": "^1.3.11",
61
+ "@types/node": "25.5.0",
62
+ "conventional-changelog-cli": "^5.0.0",
63
+ "ky": "^1.14.3",
64
+ "lint-staged": "^16.4.0",
65
+ "oxfmt": "^0.41.0",
66
+ "oxlint": "^1.56.0",
67
+ "typescript": "5.9.3"
34
68
  },
35
- "homepage": "https://github.com/tutkli/jikan-ts#readme",
36
69
  "peerDependencies": {
37
- "axios": "^1.7.9",
38
- "axios-cache-interceptor": "^1.6.2"
70
+ "ky": "^1.7.0"
39
71
  },
40
- "devDependencies": {
41
- "@biomejs/biome": "1.9.4",
42
- "@types/bun": "latest",
43
- "@types/node": "22.10.2",
44
- "auto-changelog": "^2.5.0",
45
- "axios": "^1.7.9",
46
- "axios-cache-interceptor": "^1.6.2",
47
- "bun-plugin-dts": "^0.3.0",
48
- "lint-staged": "^15.4.2",
49
- "typescript": "5.7.3"
72
+ "peerDependenciesMeta": {
73
+ "ky": {
74
+ "optional": true
75
+ }
50
76
  }
51
77
  }