@crysoline/lib 0.1.5 → 0.1.7

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 (156) hide show
  1. package/dist/core/anime/123anime/index.d.ts +27 -0
  2. package/dist/core/anime/123anime/index.js +18 -0
  3. package/dist/core/anime/anicore/index.d.ts +27 -0
  4. package/dist/core/anime/anicore/index.js +18 -0
  5. package/dist/core/anime/anicore/types.d.ts +16 -0
  6. package/dist/core/anime/anicore/types.js +1 -0
  7. package/dist/core/anime/anidap/index.d.ts +27 -0
  8. package/dist/core/anime/anidap/index.js +18 -0
  9. package/dist/core/anime/aniliberty/index.d.ts +28 -0
  10. package/dist/core/anime/aniliberty/index.js +19 -0
  11. package/dist/core/anime/aniliberty/types.d.ts +31 -0
  12. package/dist/core/anime/aniliberty/types.js +1 -0
  13. package/dist/core/anime/anime3rb/index.d.ts +28 -0
  14. package/dist/core/anime/anime3rb/index.js +19 -0
  15. package/dist/core/anime/anime3rb/types.d.ts +7 -0
  16. package/dist/core/anime/anime3rb/types.js +1 -0
  17. package/dist/core/anime/animeav1/index.d.ts +28 -0
  18. package/dist/core/anime/animeav1/index.js +19 -0
  19. package/dist/core/anime/animeav1/types.d.ts +17 -0
  20. package/dist/core/anime/animeav1/types.js +1 -0
  21. package/dist/core/anime/animegg/index.d.ts +28 -0
  22. package/dist/core/anime/animegg/index.js +19 -0
  23. package/dist/core/anime/animegg/types.d.ts +14 -0
  24. package/dist/core/anime/animegg/types.js +1 -0
  25. package/dist/core/anime/animeheaven/index.d.ts +27 -0
  26. package/dist/core/anime/animeheaven/index.js +18 -0
  27. package/dist/core/anime/animeheaven/types.d.ts +1 -1
  28. package/dist/core/anime/animekai/index.d.ts +27 -0
  29. package/dist/core/anime/animekai/index.js +18 -0
  30. package/dist/core/anime/animekai/types.d.ts +7 -7
  31. package/dist/core/anime/animelib/index.d.ts +32 -0
  32. package/dist/core/anime/animelib/index.js +19 -0
  33. package/dist/core/anime/animelib/types.d.ts +12 -0
  34. package/dist/core/anime/animelib/types.js +1 -0
  35. package/dist/core/anime/animemeow/index.d.ts +28 -0
  36. package/dist/core/anime/animemeow/index.js +19 -0
  37. package/dist/core/anime/animemeow/types.d.ts +6 -0
  38. package/dist/core/anime/animemeow/types.js +1 -0
  39. package/dist/core/anime/animenexus/index.d.ts +27 -0
  40. package/dist/core/anime/animenexus/index.js +18 -0
  41. package/dist/core/anime/animenexus/types.d.ts +16 -16
  42. package/dist/core/anime/animenix/index.d.ts +28 -0
  43. package/dist/core/anime/animenix/index.js +19 -0
  44. package/dist/core/anime/animenix/types.d.ts +6 -0
  45. package/dist/core/anime/animenix/types.js +1 -0
  46. package/dist/core/anime/animeonsen/index.d.ts +27 -0
  47. package/dist/core/anime/animeonsen/index.js +18 -0
  48. package/dist/core/anime/animeonsen/types.d.ts +8 -8
  49. package/dist/core/anime/animepahe/index.d.ts +27 -0
  50. package/dist/core/anime/animepahe/index.js +18 -0
  51. package/dist/core/anime/animeparadise/index.d.ts +26 -0
  52. package/dist/core/anime/animeparadise/index.js +18 -0
  53. package/dist/core/anime/anizone/index.d.ts +27 -0
  54. package/dist/core/anime/anizone/index.js +18 -0
  55. package/dist/core/anime/anizone/types.d.ts +5 -5
  56. package/dist/core/anime/hianime/index.d.ts +31 -0
  57. package/dist/core/anime/hianime/index.js +18 -0
  58. package/dist/core/anime/hianime/types.d.ts +8 -8
  59. package/dist/core/anime/index.d.ts +175 -44
  60. package/dist/core/anime/index.js +52 -233
  61. package/dist/core/anime/kickassanime/index.d.ts +27 -0
  62. package/dist/core/anime/kickassanime/index.js +18 -0
  63. package/dist/core/anime/kickassanime/types.d.ts +8 -8
  64. package/dist/core/anime/lunar/index.d.ts +28 -0
  65. package/dist/core/anime/lunar/index.js +19 -0
  66. package/dist/core/anime/lunar/types.d.ts +8 -8
  67. package/dist/core/anime/uniquestream/index.d.ts +27 -0
  68. package/dist/core/anime/uniquestream/index.js +18 -0
  69. package/dist/core/anime/uniquestream/types.d.ts +3 -3
  70. package/dist/core/extractors/index.d.ts +16 -0
  71. package/dist/core/extractors/index.js +10 -0
  72. package/dist/core/extractors/kodik/index.d.ts +1 -0
  73. package/dist/core/extractors/kodik/index.js +1 -0
  74. package/dist/core/extractors/kodik/types.d.ts +14 -0
  75. package/dist/core/extractors/kodik/types.js +1 -0
  76. package/dist/core/hentai/hanime/index.d.ts +28 -0
  77. package/dist/core/hentai/hanime/index.js +19 -0
  78. package/dist/core/hentai/hentaigasm/index.d.ts +14 -0
  79. package/dist/core/hentai/hentaigasm/index.js +5 -0
  80. package/dist/core/hentai/hentaigasm/types.d.ts +15 -0
  81. package/dist/core/hentai/hentaigasm/types.js +1 -0
  82. package/dist/core/hentai/hentaihaven/index.d.ts +30 -0
  83. package/dist/core/hentai/hentaihaven/index.js +21 -0
  84. package/dist/core/hentai/hstream/index.d.ts +27 -0
  85. package/dist/core/hentai/hstream/index.js +18 -0
  86. package/dist/core/hentai/index.d.ts +39 -13
  87. package/dist/core/hentai/index.js +13 -58
  88. package/dist/core/hentai/watchhentai/index.d.ts +28 -0
  89. package/dist/core/hentai/watchhentai/index.js +19 -0
  90. package/dist/core/hentai/watchhentai/types.d.ts +16 -0
  91. package/dist/core/hentai/watchhentai/types.js +1 -0
  92. package/dist/core/index.d.ts +7 -5
  93. package/dist/core/index.js +7 -5
  94. package/dist/core/manga/1manga/index.d.ts +27 -0
  95. package/dist/core/manga/1manga/index.js +20 -0
  96. package/dist/core/manga/1manga/types.d.ts +17 -0
  97. package/dist/core/manga/1manga/types.js +1 -0
  98. package/dist/core/manga/comix/index.d.ts +28 -0
  99. package/dist/core/manga/comix/index.js +20 -0
  100. package/dist/core/manga/comix/types.d.ts +15 -0
  101. package/dist/core/manga/comix/types.js +1 -0
  102. package/dist/core/manga/index.d.ts +243 -11
  103. package/dist/core/manga/index.js +36 -67
  104. package/dist/core/manga/lunar/index.d.ts +27 -0
  105. package/dist/core/manga/lunar/index.js +19 -0
  106. package/dist/core/manga/lunar/types.d.ts +2 -2
  107. package/dist/core/manga/mangadex/index.d.ts +28 -0
  108. package/dist/core/manga/mangadex/index.js +20 -0
  109. package/dist/core/manga/mangadex/types.d.ts +2 -2
  110. package/dist/core/manga/mangafire/index.d.ts +27 -0
  111. package/dist/core/manga/mangafire/index.js +19 -0
  112. package/dist/core/manga/mangafire/types.d.ts +4 -4
  113. package/dist/core/manga/mbbcdn/index.d.ts +288 -0
  114. package/dist/core/manga/mbbcdn/index.js +200 -0
  115. package/dist/core/manga/mbbcdn/types.d.ts +14 -0
  116. package/dist/core/manga/mbbcdn/types.js +1 -0
  117. package/dist/core/manga/toonilycdn/index.d.ts +131 -0
  118. package/dist/core/manga/toonilycdn/index.js +91 -0
  119. package/dist/core/manga/toonilycdn/types.d.ts +14 -0
  120. package/dist/core/manga/toonilycdn/types.js +1 -0
  121. package/dist/core/manga/weebcentral/index.d.ts +28 -0
  122. package/dist/core/manga/weebcentral/index.js +20 -0
  123. package/dist/core/manga/weebcentral/types.d.ts +22 -0
  124. package/dist/core/manga/weebcentral/types.js +1 -0
  125. package/dist/core/mapper/index.d.ts +1 -0
  126. package/dist/core/mapper/index.js +1 -0
  127. package/dist/core/meta/anilist/index.d.ts +21 -0
  128. package/dist/core/meta/anilist/index.js +19 -0
  129. package/dist/core/meta/anilist/types.d.ts +69 -0
  130. package/dist/core/meta/anilist/types.js +1 -0
  131. package/dist/core/meta/index.d.ts +14 -8
  132. package/dist/core/meta/index.js +8 -51
  133. package/dist/core/meta/myanimelist/index.d.ts +20 -0
  134. package/dist/core/meta/myanimelist/index.js +18 -0
  135. package/dist/core/meta/myanimelist/types.d.ts +15 -15
  136. package/dist/core/meta/mymangalist/index.d.ts +7 -0
  137. package/dist/core/meta/mymangalist/index.js +5 -0
  138. package/dist/core/meta/mymangalist/types.d.ts +9 -9
  139. package/dist/core/novels/index.d.ts +41 -0
  140. package/dist/core/novels/index.js +11 -0
  141. package/dist/core/novels/jnovels/index.d.ts +26 -0
  142. package/dist/core/novels/jnovels/index.js +19 -0
  143. package/dist/core/novels/novelfire/index.d.ts +28 -0
  144. package/dist/core/novels/novelfire/index.js +20 -0
  145. package/dist/core/novels/novelfire/types.d.ts +4 -0
  146. package/dist/core/novels/novelfire/types.js +1 -0
  147. package/dist/core/novels/novelhall/index.d.ts +26 -0
  148. package/dist/core/novels/novelhall/index.js +19 -0
  149. package/dist/core/types.d.ts +8 -7
  150. package/dist/helpers/fetch.d.ts +14 -0
  151. package/dist/helpers/fetch.js +30 -0
  152. package/dist/helpers/index.d.ts +1 -0
  153. package/dist/helpers/index.js +1 -0
  154. package/dist/index.d.ts +2 -1
  155. package/dist/index.js +2 -1
  156. package/package.json +2 -2
@@ -0,0 +1,131 @@
1
+ import type { ToonilyCdnChapterMeta, ToonilyCdnInfoMeta, ToonilyCdnSearchMeta } from './types';
2
+ /**
3
+ * Creates a TooniClub API client.
4
+ *
5
+ * @param apiKey - Your API key for authentication
6
+ * @returns API client with methods: search, info, chapters, pages
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const client = TooniClub(process.env.API_KEY);
11
+ * const results = await client.search("one piece");
12
+ * const info = await client.info(results[0].id);
13
+ * const chapters = await client.chapters(results[0].id);
14
+ * ```
15
+ */
16
+ export declare const TooniClub: (apiKey: string) => {
17
+ name: string;
18
+ } & {
19
+ search: (q: string) => Promise<import("../../types").Search<ToonilyCdnSearchMeta>[]>;
20
+ info: (id: string | number) => Promise<import("../../types").Info<ToonilyCdnInfoMeta, import("../../types").Episode<unknown>>>;
21
+ chapters: (id: string | number) => Promise<import("../../types").Chapter<ToonilyCdnChapterMeta>[]>;
22
+ pages: (params: {
23
+ id: string | number;
24
+ chapterId: string | number;
25
+ lang?: string;
26
+ }) => Promise<import("../../types").Page[]>;
27
+ };
28
+ /**
29
+ * Creates a TooniFab API client.
30
+ *
31
+ * @param apiKey - Your API key for authentication
32
+ * @returns API client with methods: search, info, chapters, pages
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * const client = TooniFab(process.env.API_KEY);
37
+ * const results = await client.search("one piece");
38
+ * const info = await client.info(results[0].id);
39
+ * const chapters = await client.chapters(results[0].id);
40
+ * ```
41
+ */
42
+ export declare const TooniFab: (apiKey: string) => {
43
+ name: string;
44
+ } & {
45
+ search: (q: string) => Promise<import("../../types").Search<ToonilyCdnSearchMeta>[]>;
46
+ info: (id: string | number) => Promise<import("../../types").Info<ToonilyCdnInfoMeta, import("../../types").Episode<unknown>>>;
47
+ chapters: (id: string | number) => Promise<import("../../types").Chapter<ToonilyCdnChapterMeta>[]>;
48
+ pages: (params: {
49
+ id: string | number;
50
+ chapterId: string | number;
51
+ lang?: string;
52
+ }) => Promise<import("../../types").Page[]>;
53
+ };
54
+ /**
55
+ * Creates a Toonily API client.
56
+ *
57
+ * @param apiKey - Your API key for authentication
58
+ * @returns API client with methods: search, info, chapters, pages
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * const client = Toonily(process.env.API_KEY);
63
+ * const results = await client.search("one piece");
64
+ * const info = await client.info(results[0].id);
65
+ * const chapters = await client.chapters(results[0].id);
66
+ * ```
67
+ */
68
+ export declare const Toonily: (apiKey: string) => {
69
+ name: string;
70
+ } & {
71
+ search: (q: string) => Promise<import("../../types").Search<ToonilyCdnSearchMeta>[]>;
72
+ info: (id: string | number) => Promise<import("../../types").Info<ToonilyCdnInfoMeta, import("../../types").Episode<unknown>>>;
73
+ chapters: (id: string | number) => Promise<import("../../types").Chapter<ToonilyCdnChapterMeta>[]>;
74
+ pages: (params: {
75
+ id: string | number;
76
+ chapterId: string | number;
77
+ lang?: string;
78
+ }) => Promise<import("../../types").Page[]>;
79
+ };
80
+ /**
81
+ * Creates a TooniTube API client.
82
+ *
83
+ * @param apiKey - Your API key for authentication
84
+ * @returns API client with methods: search, info, chapters, pages
85
+ *
86
+ * @example
87
+ * ```ts
88
+ * const client = TooniTube(process.env.API_KEY);
89
+ * const results = await client.search("one piece");
90
+ * const info = await client.info(results[0].id);
91
+ * const chapters = await client.chapters(results[0].id);
92
+ * ```
93
+ */
94
+ export declare const TooniTube: (apiKey: string) => {
95
+ name: string;
96
+ } & {
97
+ search: (q: string) => Promise<import("../../types").Search<ToonilyCdnSearchMeta>[]>;
98
+ info: (id: string | number) => Promise<import("../../types").Info<ToonilyCdnInfoMeta, import("../../types").Episode<unknown>>>;
99
+ chapters: (id: string | number) => Promise<import("../../types").Chapter<ToonilyCdnChapterMeta>[]>;
100
+ pages: (params: {
101
+ id: string | number;
102
+ chapterId: string | number;
103
+ lang?: string;
104
+ }) => Promise<import("../../types").Page[]>;
105
+ };
106
+ /**
107
+ * Creates a BeeHentai API client.
108
+ *
109
+ * @param apiKey - Your API key for authentication
110
+ * @returns API client with methods: search, info, chapters, pages
111
+ *
112
+ * @example
113
+ * ```ts
114
+ * const client = BeeHentai(process.env.API_KEY);
115
+ * const results = await client.search("one piece");
116
+ * const info = await client.info(results[0].id);
117
+ * const chapters = await client.chapters(results[0].id);
118
+ * ```
119
+ */
120
+ export declare const BeeHentai: (apiKey: string) => {
121
+ name: string;
122
+ } & {
123
+ search: (q: string) => Promise<import("../../types").Search<ToonilyCdnSearchMeta>[]>;
124
+ info: (id: string | number) => Promise<import("../../types").Info<ToonilyCdnInfoMeta, import("../../types").Episode<unknown>>>;
125
+ chapters: (id: string | number) => Promise<import("../../types").Chapter<ToonilyCdnChapterMeta>[]>;
126
+ pages: (params: {
127
+ id: string | number;
128
+ chapterId: string | number;
129
+ lang?: string;
130
+ }) => Promise<import("../../types").Page[]>;
131
+ };
@@ -0,0 +1,91 @@
1
+ import { MangaFetch } from '../../../helpers';
2
+ /**
3
+ * Creates a TooniClub API client.
4
+ *
5
+ * @param apiKey - Your API key for authentication
6
+ * @returns API client with methods: search, info, chapters, pages
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const client = TooniClub(process.env.API_KEY);
11
+ * const results = await client.search("one piece");
12
+ * const info = await client.info(results[0].id);
13
+ * const chapters = await client.chapters(results[0].id);
14
+ * ```
15
+ */
16
+ export const TooniClub = (apiKey) => MangaFetch({
17
+ provider: 'tooniclub',
18
+ apiKey,
19
+ });
20
+ /**
21
+ * Creates a TooniFab API client.
22
+ *
23
+ * @param apiKey - Your API key for authentication
24
+ * @returns API client with methods: search, info, chapters, pages
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * const client = TooniFab(process.env.API_KEY);
29
+ * const results = await client.search("one piece");
30
+ * const info = await client.info(results[0].id);
31
+ * const chapters = await client.chapters(results[0].id);
32
+ * ```
33
+ */
34
+ export const TooniFab = (apiKey) => MangaFetch({
35
+ provider: 'toonifab',
36
+ apiKey,
37
+ });
38
+ /**
39
+ * Creates a Toonily API client.
40
+ *
41
+ * @param apiKey - Your API key for authentication
42
+ * @returns API client with methods: search, info, chapters, pages
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * const client = Toonily(process.env.API_KEY);
47
+ * const results = await client.search("one piece");
48
+ * const info = await client.info(results[0].id);
49
+ * const chapters = await client.chapters(results[0].id);
50
+ * ```
51
+ */
52
+ export const Toonily = (apiKey) => MangaFetch({
53
+ provider: 'toonily',
54
+ apiKey,
55
+ });
56
+ /**
57
+ * Creates a TooniTube API client.
58
+ *
59
+ * @param apiKey - Your API key for authentication
60
+ * @returns API client with methods: search, info, chapters, pages
61
+ *
62
+ * @example
63
+ * ```ts
64
+ * const client = TooniTube(process.env.API_KEY);
65
+ * const results = await client.search("one piece");
66
+ * const info = await client.info(results[0].id);
67
+ * const chapters = await client.chapters(results[0].id);
68
+ * ```
69
+ */
70
+ export const TooniTube = (apiKey) => MangaFetch({
71
+ provider: 'toonitube',
72
+ apiKey,
73
+ });
74
+ /**
75
+ * Creates a BeeHentai API client.
76
+ *
77
+ * @param apiKey - Your API key for authentication
78
+ * @returns API client with methods: search, info, chapters, pages
79
+ *
80
+ * @example
81
+ * ```ts
82
+ * const client = BeeHentai(process.env.API_KEY);
83
+ * const results = await client.search("one piece");
84
+ * const info = await client.info(results[0].id);
85
+ * const chapters = await client.chapters(results[0].id);
86
+ * ```
87
+ */
88
+ export const BeeHentai = (apiKey) => MangaFetch({
89
+ provider: 'beehentai',
90
+ apiKey,
91
+ });
@@ -0,0 +1,14 @@
1
+ export interface ToonilyCdnSearchMeta {
2
+ slug: string;
3
+ latestChapter: string | null;
4
+ }
5
+ export interface ToonilyCdnInfoMeta {
6
+ slug: string;
7
+ bookId: number;
8
+ altTitles: string[];
9
+ latestChapter: string | null;
10
+ }
11
+ export interface ToonilyCdnChapterMeta {
12
+ chapterSlug: string;
13
+ chapterNum: string;
14
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,28 @@
1
+ import type { WeebCentralInfoMeta, WeebCentralSearchMeta } from './types';
2
+ /**
3
+ * Creates a WeebCentral API client.
4
+ *
5
+ * @param apiKey - Your API key for authentication
6
+ * @returns API client with methods: search, info, chapters, pages
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const client = WeebCentral(process.env.API_KEY);
11
+ * const results = await client.search("one piece");
12
+ * const info = await client.info(results[0].id);
13
+ * const chapters = await client.chapters(results[0].id);
14
+ * ```
15
+ */
16
+ export declare const WeebCentral: (apiKey: string) => {
17
+ name: string;
18
+ } & {
19
+ search: (q: string) => Promise<import("../../types").Search<WeebCentralSearchMeta>[]>;
20
+ info: (id: string | number) => Promise<import("../../types").Info<WeebCentralInfoMeta, import("../../types").Episode<unknown>>>;
21
+ chapters: (id: string | number) => Promise<import("../../types").Chapter<unknown>[]>;
22
+ pages: (params: {
23
+ id: string | number;
24
+ chapterId: string | number;
25
+ lang?: string;
26
+ }) => Promise<import("../../types").Page[]>;
27
+ };
28
+ export * from './types';
@@ -0,0 +1,20 @@
1
+ import { MangaFetch } from '../../../helpers';
2
+ /**
3
+ * Creates a WeebCentral API client.
4
+ *
5
+ * @param apiKey - Your API key for authentication
6
+ * @returns API client with methods: search, info, chapters, pages
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const client = WeebCentral(process.env.API_KEY);
11
+ * const results = await client.search("one piece");
12
+ * const info = await client.info(results[0].id);
13
+ * const chapters = await client.chapters(results[0].id);
14
+ * ```
15
+ */
16
+ export const WeebCentral = (apiKey) => MangaFetch({
17
+ provider: 'weebcentral',
18
+ apiKey,
19
+ });
20
+ export * from './types';
@@ -0,0 +1,22 @@
1
+ export interface WeebCentralLink {
2
+ source: string | null;
3
+ id: string | null;
4
+ }
5
+ export interface WeebCentralSearchMeta {
6
+ year: number | null;
7
+ status: string | null;
8
+ type: string | null;
9
+ authors: string[] | null;
10
+ tags: string[] | null;
11
+ }
12
+ export interface WeebCentralInfoMeta {
13
+ year: number | null;
14
+ status: string | null;
15
+ type: string | null;
16
+ official: boolean | false;
17
+ anime: boolean | false;
18
+ adult: boolean | false;
19
+ authors: string[] | null;
20
+ tags: string[] | null;
21
+ links: WeebCentralLink[] | null;
22
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -28,3 +28,4 @@ declare const Mapper: (apiKey: string) => {
28
28
  }) => Promise<import("./types").Mapping>;
29
29
  };
30
30
  export { Mapper };
31
+ export * from './types';
@@ -25,3 +25,4 @@ const Mapper = (apiKey) => MapperFetch({
25
25
  apiKey,
26
26
  });
27
27
  export { Mapper };
28
+ export * from './types';
@@ -0,0 +1,21 @@
1
+ import type { AnilistInfoMeta, AnilistSearchMeta } from './types';
2
+ /**
3
+ * Creates an Anilist API client.
4
+ *
5
+ * @param apiKey - Your API key for authentication
6
+ * @returns API client with methods: search, info
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const client = Anilist(process.env.API_KEY);
11
+ * const results = await client.search("alya");
12
+ * const info = await client.info(results[0].id);
13
+ * ```
14
+ */
15
+ export declare const Anilist: (apiKey: string) => {
16
+ name: string;
17
+ } & {
18
+ search: (q: string) => Promise<import("../../types").Search<AnilistSearchMeta>[]>;
19
+ info: (id: string | number) => Promise<import("../../types").Info<AnilistInfoMeta, import("../../types").Episode<unknown>>>;
20
+ };
21
+ export * from './types';
@@ -0,0 +1,19 @@
1
+ import { MetaFetch } from '../../../helpers';
2
+ /**
3
+ * Creates an Anilist API client.
4
+ *
5
+ * @param apiKey - Your API key for authentication
6
+ * @returns API client with methods: search, info
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const client = Anilist(process.env.API_KEY);
11
+ * const results = await client.search("alya");
12
+ * const info = await client.info(results[0].id);
13
+ * ```
14
+ */
15
+ export const Anilist = (apiKey) => MetaFetch({
16
+ provider: 'anilist',
17
+ apiKey,
18
+ });
19
+ export * from './types';
@@ -0,0 +1,69 @@
1
+ export interface AnilistSearchMeta {
2
+ format: string;
3
+ averageScore: number | null;
4
+ popularity: number;
5
+ }
6
+ export interface AnilistInfoMeta {
7
+ format: string;
8
+ status: string;
9
+ startDate: AnilistDate;
10
+ endDate: AnilistDate;
11
+ season: string | null;
12
+ seasonYear: number | null;
13
+ duration: number | null;
14
+ source: string | null;
15
+ averageScore: number | null;
16
+ popularity: number;
17
+ favourites: number;
18
+ studios: string[];
19
+ genres: string[];
20
+ tags: string[];
21
+ relations: AnilistRelation[];
22
+ characters: AnilistCharacter[];
23
+ staff: AnilistStaff[];
24
+ trailer: AnilistTrailerInfo | null;
25
+ externalLinks: AnilistExternalLink[];
26
+ }
27
+ export interface AnilistRelation {
28
+ id: number;
29
+ title: {
30
+ romaji: string;
31
+ english: string | null;
32
+ };
33
+ coverImage: string;
34
+ format: string;
35
+ relationType: string;
36
+ }
37
+ export interface AnilistVoiceActor {
38
+ id: number;
39
+ name: string;
40
+ language: string;
41
+ image: string;
42
+ }
43
+ export interface AnilistCharacter {
44
+ id: number;
45
+ name: string;
46
+ role: string;
47
+ image: string;
48
+ voiceActors: AnilistVoiceActor[];
49
+ }
50
+ export interface AnilistStaff {
51
+ id: number;
52
+ name: string;
53
+ role: string;
54
+ image: string;
55
+ }
56
+ export interface AnilistTrailerInfo {
57
+ url: string;
58
+ site: string;
59
+ thumbnail: string;
60
+ }
61
+ export interface AnilistExternalLink {
62
+ url: string;
63
+ site: string;
64
+ }
65
+ export interface AnilistDate {
66
+ year: number | null;
67
+ month: number | null;
68
+ day: number | null;
69
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,17 +1,23 @@
1
- import type { MInfoMeta, MSearchMeta } from './myanimelist';
2
- import type { MMLInfoMeta, MMSearchMeta } from './mymangalist';
3
- declare const Meta: {
1
+ export declare const Meta: {
2
+ Anilist: (apiKey: string) => {
3
+ name: string;
4
+ } & {
5
+ search: (q: string) => Promise<import("../types").Search<import("./anilist").AnilistSearchMeta>[]>;
6
+ info: (id: string | number) => Promise<import("../types").Info<import("./anilist").AnilistInfoMeta, import("../types").Episode<unknown>>>;
7
+ };
4
8
  MyAnimeList: (apiKey: string) => {
5
9
  name: string;
6
10
  } & {
7
- search: (q: string) => Promise<import("../types").Search<MSearchMeta>[]>;
8
- info: (id: string | number) => Promise<import("../types").Info<MInfoMeta, import("../types").Episode<unknown>>>;
11
+ search: (q: string) => Promise<import("../types").Search<import("./myanimelist").MyAnimeListSearchMeta>[]>;
12
+ info: (id: string | number) => Promise<import("../types").Info<import("./myanimelist").MyAnimeListInfoMeta, import("../types").Episode<unknown>>>;
9
13
  };
10
14
  MyMangaList: (apiKey: string) => {
11
15
  name: string;
12
16
  } & {
13
- search: (q: string) => Promise<import("../types").Search<MMSearchMeta>[]>;
14
- info: (id: string | number) => Promise<import("../types").Info<MMLInfoMeta, import("../types").Episode<unknown>>>;
17
+ search: (q: string) => Promise<import("../types").Search<import("./mymangalist").MyMangaListSearchMeta>[]>;
18
+ info: (id: string | number) => Promise<import("../types").Info<import("./mymangalist").MyMangaListInfoMeta, import("../types").Episode<unknown>>>;
15
19
  };
16
20
  };
17
- export { Meta };
21
+ export * from './anilist';
22
+ export * from './myanimelist';
23
+ export * from './mymangalist';
@@ -1,54 +1,11 @@
1
- import { MetaFetch } from '../../helpers/fetch';
2
- /**
3
- * Creates a MyAnimeList API client for anime metadata.
4
- *
5
- * **Provides comprehensive anime information and statistics from MyAnimeList.**
6
- *
7
- * @param apiKey - Your API key for authentication
8
- * @returns API client with methods: search, info
9
- *
10
- * @example
11
- * ```ts
12
- * const mal = MyAnimeList(process.env.API_KEY);
13
- *
14
- * // Search for anime
15
- * const results = await mal.search("steins gate");
16
- *
17
- * // Get detailed info with MAL ratings, stats, and metadata
18
- * const info = await mal.info(results[0].id);
19
- * console.log(info.score, info.rank, info.popularity);
20
- * ```
21
- */
22
- const MyAnimeList = (apiKey) => MetaFetch({
23
- provider: 'myanimelist',
24
- apiKey,
25
- });
26
- /**
27
- * Creates a MyMangaList API client for manga metadata.
28
- *
29
- * **Provides comprehensive manga information and statistics from MyAnimeList.**
30
- *
31
- * @param apiKey - Your API key for authentication
32
- * @returns API client with methods: search, info
33
- *
34
- * @example
35
- * ```ts
36
- * const mml = MyMangaList(process.env.API_KEY);
37
- *
38
- * // Search for manga
39
- * const results = await mml.search("berserk");
40
- *
41
- * // Get detailed info with MAL ratings, stats, and metadata
42
- * const info = await mml.info(results[0].id);
43
- * console.log(info.score, info.rank, info.members);
44
- * ```
45
- */
46
- const MyMangaList = (apiKey) => MetaFetch({
47
- provider: 'mymangalist',
48
- apiKey,
49
- });
50
- const Meta = {
1
+ import { Anilist } from './anilist';
2
+ import { MyAnimeList } from './myanimelist';
3
+ import { MyMangaList } from './mymangalist';
4
+ export const Meta = {
5
+ Anilist,
51
6
  MyAnimeList,
52
7
  MyMangaList,
53
8
  };
54
- export { Meta };
9
+ export * from './anilist';
10
+ export * from './myanimelist';
11
+ export * from './mymangalist';
@@ -1 +1,21 @@
1
+ import type { MyAnimeListInfoMeta, MyAnimeListSearchMeta } from './types';
2
+ /**
3
+ * Creates an MyAnimeList API client.
4
+ *
5
+ * @param apiKey - Your API key for authentication
6
+ * @returns API client with methods: search, info
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const client = MyAnimeList(process.env.API_KEY);
11
+ * const results = await client.search("alya");
12
+ * const info = await client.info(results[0].id);
13
+ * ```
14
+ */
15
+ export declare const MyAnimeList: (apiKey: string) => {
16
+ name: string;
17
+ } & {
18
+ search: (q: string) => Promise<import("../../types").Search<MyAnimeListSearchMeta>[]>;
19
+ info: (id: string | number) => Promise<import("../../types").Info<MyAnimeListInfoMeta, import("../../types").Episode<unknown>>>;
20
+ };
1
21
  export * from './types';
@@ -1 +1,19 @@
1
+ import { MetaFetch } from '../../../helpers';
2
+ /**
3
+ * Creates an MyAnimeList API client.
4
+ *
5
+ * @param apiKey - Your API key for authentication
6
+ * @returns API client with methods: search, info
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const client = MyAnimeList(process.env.API_KEY);
11
+ * const results = await client.search("alya");
12
+ * const info = await client.info(results[0].id);
13
+ * ```
14
+ */
15
+ export const MyAnimeList = (apiKey) => MetaFetch({
16
+ provider: 'myanimelist',
17
+ apiKey,
18
+ });
1
19
  export * from './types';
@@ -1,45 +1,45 @@
1
- export interface MLink {
1
+ export interface MyAnimeListLink {
2
2
  label: string | null;
3
3
  url: string | null;
4
4
  }
5
- export interface MRelation {
5
+ export interface MyAnimeListRelation {
6
6
  id: number | null;
7
7
  image: string | null;
8
8
  title: string | null;
9
9
  relationType: string | null;
10
10
  }
11
- export interface MCharacter {
11
+ export interface MyAnimeListCharacter {
12
12
  id: number | null;
13
13
  image: string | null;
14
14
  name: string | null;
15
15
  role: string | null;
16
- voiceActors: MVoiceActor[] | null;
16
+ voiceActors: MyAnimeListVoiceActor[] | null;
17
17
  }
18
- export interface MVoiceActor {
18
+ export interface MyAnimeListVoiceActor {
19
19
  id: number | null;
20
20
  image: string | null;
21
21
  name: string | null;
22
22
  language: string | null;
23
23
  }
24
- export interface MStaff {
24
+ export interface MyAnimeListStaff {
25
25
  id: number | null;
26
26
  image: string | null;
27
27
  name: string | null;
28
28
  role: string | null;
29
29
  }
30
- export interface MVideo {
30
+ export interface MyAnimeListVideo {
31
31
  title: string;
32
32
  url: string;
33
33
  thumbnail: string | null;
34
34
  artist?: string | null;
35
35
  type: 'trailer' | 'music';
36
36
  }
37
- export interface MSearchMeta {
37
+ export interface MyAnimeListSearchMeta {
38
38
  type: string | null;
39
39
  score: string | null;
40
40
  members: string | null;
41
41
  }
42
- export interface MInfoMeta {
42
+ export interface MyAnimeListInfoMeta {
43
43
  moreInfo: string | null;
44
44
  score: string | null;
45
45
  rank: string | null;
@@ -60,10 +60,10 @@ export interface MInfoMeta {
60
60
  duration: string | null;
61
61
  rating: string | null;
62
62
  favorites: string | null;
63
- externalLinks: MLink[] | null;
64
- streamingLinks: MLink[] | null;
65
- relations: MRelation[] | null;
66
- characters: MCharacter[] | null;
67
- videos: MVideo[] | null;
68
- staff: MStaff[] | null;
63
+ externalLinks: MyAnimeListLink[] | null;
64
+ streamingLinks: MyAnimeListLink[] | null;
65
+ relations: MyAnimeListRelation[] | null;
66
+ characters: MyAnimeListCharacter[] | null;
67
+ videos: MyAnimeListVideo[] | null;
68
+ staff: MyAnimeListStaff[] | null;
69
69
  }
@@ -1 +1,8 @@
1
+ import type { MyMangaListInfoMeta, MyMangaListSearchMeta } from './types';
2
+ export declare const MyMangaList: (apiKey: string) => {
3
+ name: string;
4
+ } & {
5
+ search: (q: string) => Promise<import("../../types").Search<MyMangaListSearchMeta>[]>;
6
+ info: (id: string | number) => Promise<import("../../types").Info<MyMangaListInfoMeta, import("../../types").Episode<unknown>>>;
7
+ };
1
8
  export * from './types';
@@ -1 +1,6 @@
1
+ import { MetaFetch } from '../../../helpers';
2
+ export const MyMangaList = (apiKey) => MetaFetch({
3
+ provider: 'mymangalist',
4
+ apiKey,
5
+ });
1
6
  export * from './types';