@crysoline/lib 0.1.5 → 0.1.6
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/core/anime/aniliberty/index.d.ts +1 -0
- package/dist/core/anime/aniliberty/index.js +1 -0
- package/dist/core/anime/aniliberty/types.d.ts +31 -0
- package/dist/core/anime/aniliberty/types.js +1 -0
- package/dist/core/anime/anime3rb/index.d.ts +1 -0
- package/dist/core/anime/anime3rb/index.js +1 -0
- package/dist/core/anime/anime3rb/types.d.ts +7 -0
- package/dist/core/anime/anime3rb/types.js +1 -0
- package/dist/core/anime/animeav1/index.d.ts +1 -0
- package/dist/core/anime/animeav1/index.js +1 -0
- package/dist/core/anime/animeav1/types.d.ts +17 -0
- package/dist/core/anime/animeav1/types.js +1 -0
- package/dist/core/anime/animegg/index.d.ts +1 -0
- package/dist/core/anime/animegg/index.js +1 -0
- package/dist/core/anime/animegg/types.d.ts +14 -0
- package/dist/core/anime/animegg/types.js +1 -0
- package/dist/core/anime/animekai/types.d.ts +2 -2
- package/dist/core/anime/animelib/index.d.ts +1 -0
- package/dist/core/anime/animelib/index.js +1 -0
- package/dist/core/anime/animelib/types.d.ts +12 -0
- package/dist/core/anime/animelib/types.js +1 -0
- package/dist/core/anime/animemeow/index.d.ts +1 -0
- package/dist/core/anime/animemeow/index.js +1 -0
- package/dist/core/anime/animemeow/types.d.ts +6 -0
- package/dist/core/anime/animemeow/types.js +1 -0
- package/dist/core/anime/animenix/index.d.ts +1 -0
- package/dist/core/anime/animenix/index.js +1 -0
- package/dist/core/anime/animenix/types.d.ts +6 -0
- package/dist/core/anime/animenix/types.js +1 -0
- package/dist/core/anime/index.d.ts +120 -0
- package/dist/core/anime/index.js +53 -0
- package/dist/core/extractors/index.d.ts +16 -0
- package/dist/core/extractors/index.js +10 -0
- package/dist/core/extractors/kodik/index.d.ts +1 -0
- package/dist/core/extractors/kodik/index.js +1 -0
- package/dist/core/extractors/kodik/types.d.ts +14 -0
- package/dist/core/extractors/kodik/types.js +1 -0
- package/dist/core/hentai/index.d.ts +18 -0
- package/dist/core/hentai/index.js +9 -0
- package/dist/core/hentai/watchhentai/index.d.ts +1 -0
- package/dist/core/hentai/watchhentai/index.js +1 -0
- package/dist/core/hentai/watchhentai/types.d.ts +16 -0
- package/dist/core/hentai/watchhentai/types.js +1 -0
- package/dist/core/index.d.ts +6 -5
- package/dist/core/index.js +6 -5
- package/dist/core/manga/comix/index.d.ts +1 -0
- package/dist/core/manga/comix/index.js +1 -0
- package/dist/core/manga/comix/types.d.ts +15 -0
- package/dist/core/manga/comix/types.js +1 -0
- package/dist/core/manga/index.d.ts +31 -0
- package/dist/core/manga/index.js +15 -0
- package/dist/core/manga/weebcentral/index.d.ts +1 -0
- package/dist/core/manga/weebcentral/index.js +1 -0
- package/dist/core/manga/weebcentral/types.d.ts +22 -0
- package/dist/core/manga/weebcentral/types.js +1 -0
- package/dist/core/mapper/index.d.ts +1 -0
- package/dist/core/mapper/index.js +1 -0
- package/dist/core/meta/anilist/index.d.ts +1 -0
- package/dist/core/meta/anilist/index.js +1 -0
- package/dist/core/meta/anilist/types.d.ts +69 -0
- package/dist/core/meta/anilist/types.js +1 -0
- package/dist/core/meta/index.d.ts +10 -0
- package/dist/core/meta/index.js +8 -0
- package/dist/core/types.d.ts +8 -7
- package/dist/helpers/fetch.d.ts +8 -0
- package/dist/helpers/fetch.js +14 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface ALSearchMeta {
|
|
2
|
+
type: string | null;
|
|
3
|
+
season: string | null;
|
|
4
|
+
alias: string | null;
|
|
5
|
+
isOngoing: boolean | false;
|
|
6
|
+
ageRating: string | null;
|
|
7
|
+
genres: string[] | null;
|
|
8
|
+
}
|
|
9
|
+
export interface ALInfoMeta {
|
|
10
|
+
type: string | null;
|
|
11
|
+
season: string | null;
|
|
12
|
+
year: number | null;
|
|
13
|
+
alias: string | null;
|
|
14
|
+
isOngoing: boolean | false;
|
|
15
|
+
ageRating: string | null;
|
|
16
|
+
genres: string[] | null;
|
|
17
|
+
}
|
|
18
|
+
export interface ALEpisodeMeta {
|
|
19
|
+
hls_480: string | null;
|
|
20
|
+
hls_720: string | null;
|
|
21
|
+
hls_1080: string | null;
|
|
22
|
+
opening: {
|
|
23
|
+
start: number;
|
|
24
|
+
stop: number;
|
|
25
|
+
};
|
|
26
|
+
ending: {
|
|
27
|
+
start: number | null;
|
|
28
|
+
stop: number | null;
|
|
29
|
+
};
|
|
30
|
+
duration: number | null;
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface AVSearchMeta {
|
|
2
|
+
slug: string;
|
|
3
|
+
}
|
|
4
|
+
export interface AVInfoMeta {
|
|
5
|
+
season: string;
|
|
6
|
+
status: string;
|
|
7
|
+
format: string;
|
|
8
|
+
genres: string[];
|
|
9
|
+
startDate: string;
|
|
10
|
+
endDate: string;
|
|
11
|
+
}
|
|
12
|
+
export interface AVEpisodeMeta {
|
|
13
|
+
url: string;
|
|
14
|
+
}
|
|
15
|
+
export interface AVSourceMeta {
|
|
16
|
+
poster?: string | null;
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface AGGSearchMeta {
|
|
2
|
+
status: string | null;
|
|
3
|
+
altTitles: string[] | null;
|
|
4
|
+
}
|
|
5
|
+
export interface AGGInfoMeta {
|
|
6
|
+
status: string | null;
|
|
7
|
+
genres: string[] | null;
|
|
8
|
+
}
|
|
9
|
+
export interface AGGEpisodeMeta {
|
|
10
|
+
sub: boolean | false;
|
|
11
|
+
dub: boolean | false;
|
|
12
|
+
hd: boolean | false;
|
|
13
|
+
sd: boolean | false;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -11,8 +11,8 @@ export interface KaiRelation {
|
|
|
11
11
|
episodes?: number;
|
|
12
12
|
}
|
|
13
13
|
export interface KaiEpisodeMeta {
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
sub: boolean | false;
|
|
15
|
+
dub: boolean | false;
|
|
16
16
|
url: string | null;
|
|
17
17
|
}
|
|
18
18
|
export interface KaiInfoMeta {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import type { OneTwoThreeAnimeInfoMeta, OneTwoThreeAnimeSearchMeta } from './123anime';
|
|
2
|
+
import type { ALEpisodeMeta, ALInfoMeta, ALSearchMeta } from './aniliberty';
|
|
3
|
+
import type { A3RBInfoMeta, AnimeRBSrcMeta } from './anime3rb';
|
|
4
|
+
import type { AVEpisodeMeta, AVInfoMeta, AVSearchMeta, AVSourceMeta } from './animeav1';
|
|
5
|
+
import type { AGGEpisodeMeta, AGGInfoMeta, AGGSearchMeta } from './animegg';
|
|
2
6
|
import type { KaiEpisodeMeta, KaiInfoMeta, KaiSearchMeta } from './animekai';
|
|
7
|
+
import type { ALIBInfoMeta, ALIBSearchMeta } from './animelib';
|
|
8
|
+
import type { AnimeMeowSearchMeta } from './animemeow';
|
|
3
9
|
import type { NEpisodeMeta, NInfoMeta, NSearchMeta } from './animenexus';
|
|
10
|
+
import type { AnimeNixEpisodeMeta, AnimeNixSearchMeta } from './animenix';
|
|
4
11
|
import type { OEpisodeMeta, OInfoMeta } from './animeonsen';
|
|
5
12
|
import type { PaheEpisodeMeta, PaheInfoMeta, PaheSearchMeta } from './animepahe';
|
|
6
13
|
import type { AZEpisodeMeta, AZInfoMeta, AZSearchMeta } from './anizone';
|
|
@@ -22,6 +29,58 @@ declare const Anime: {
|
|
|
22
29
|
server?: string;
|
|
23
30
|
}) => Promise<import("../types").Source<unknown>>;
|
|
24
31
|
};
|
|
32
|
+
Aniliberty: (apiKey: string) => {
|
|
33
|
+
name: string;
|
|
34
|
+
} & {
|
|
35
|
+
search: (q: string) => Promise<import("../types").Search<ALSearchMeta>[]>;
|
|
36
|
+
info: (id: string | number) => Promise<import("../types").Info<ALInfoMeta, import("../types").Episode<ALEpisodeMeta>>>;
|
|
37
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<ALEpisodeMeta>[]>;
|
|
38
|
+
sources: (params: {
|
|
39
|
+
id: string | number;
|
|
40
|
+
episodeId: string | number;
|
|
41
|
+
subType?: string;
|
|
42
|
+
server?: string;
|
|
43
|
+
}) => Promise<import("../types").Source<unknown>>;
|
|
44
|
+
};
|
|
45
|
+
Anime3rb: (apiKey: string) => {
|
|
46
|
+
name: string;
|
|
47
|
+
} & {
|
|
48
|
+
search: (q: string) => Promise<import("../types").Search<unknown>[]>;
|
|
49
|
+
info: (id: string | number) => Promise<import("../types").Info<A3RBInfoMeta, import("../types").Episode<unknown>>>;
|
|
50
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<unknown>[]>;
|
|
51
|
+
sources: (params: {
|
|
52
|
+
id: string | number;
|
|
53
|
+
episodeId: string | number;
|
|
54
|
+
subType?: string;
|
|
55
|
+
server?: string;
|
|
56
|
+
}) => Promise<import("../types").Source<AnimeRBSrcMeta>>;
|
|
57
|
+
};
|
|
58
|
+
AnimeAV1: (apiKey: string) => {
|
|
59
|
+
name: string;
|
|
60
|
+
} & {
|
|
61
|
+
search: (q: string) => Promise<import("../types").Search<AVSearchMeta>[]>;
|
|
62
|
+
info: (id: string | number) => Promise<import("../types").Info<AVInfoMeta, import("../types").Episode<AVEpisodeMeta>>>;
|
|
63
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<AVEpisodeMeta>[]>;
|
|
64
|
+
sources: (params: {
|
|
65
|
+
id: string | number;
|
|
66
|
+
episodeId: string | number;
|
|
67
|
+
subType?: string;
|
|
68
|
+
server?: string;
|
|
69
|
+
}) => Promise<import("../types").Source<AVSourceMeta>>;
|
|
70
|
+
};
|
|
71
|
+
AnimeGG: (apiKey: string) => {
|
|
72
|
+
name: string;
|
|
73
|
+
} & {
|
|
74
|
+
search: (q: string) => Promise<import("../types").Search<AGGSearchMeta>[]>;
|
|
75
|
+
info: (id: string | number) => Promise<import("../types").Info<AGGInfoMeta, import("../types").Episode<AGGEpisodeMeta>>>;
|
|
76
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<AGGEpisodeMeta>[]>;
|
|
77
|
+
sources: (params: {
|
|
78
|
+
id: string | number;
|
|
79
|
+
episodeId: string | number;
|
|
80
|
+
subType?: string;
|
|
81
|
+
server?: string;
|
|
82
|
+
}) => Promise<import("../types").Source<unknown>>;
|
|
83
|
+
};
|
|
25
84
|
AnimeParadise: (apiKey: string) => {
|
|
26
85
|
name: string;
|
|
27
86
|
} & {
|
|
@@ -61,6 +120,36 @@ declare const Anime: {
|
|
|
61
120
|
server?: string;
|
|
62
121
|
}) => Promise<import("../types").Source<unknown>>;
|
|
63
122
|
};
|
|
123
|
+
AnimeLib: (apiKey: string) => {
|
|
124
|
+
name: string;
|
|
125
|
+
} & {
|
|
126
|
+
search: (q: string) => Promise<import("../types").Search<ALIBSearchMeta>[]>;
|
|
127
|
+
info: (id: string | number) => Promise<import("../types").Info<ALIBInfoMeta, import("../types").Episode<unknown>>>;
|
|
128
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<unknown>[]>;
|
|
129
|
+
sources: (params: {
|
|
130
|
+
id: string | number;
|
|
131
|
+
episodeId: string | number;
|
|
132
|
+
subType?: string;
|
|
133
|
+
server?: string;
|
|
134
|
+
}) => Promise<import("../types").Source<unknown>>;
|
|
135
|
+
servers: (params: {
|
|
136
|
+
id: string | number;
|
|
137
|
+
episodeId: string | number;
|
|
138
|
+
}) => Promise<import("../types").Server<unknown>>;
|
|
139
|
+
};
|
|
140
|
+
AnimeMeow: (apiKey: string) => {
|
|
141
|
+
name: string;
|
|
142
|
+
} & {
|
|
143
|
+
search: (q: string) => Promise<import("../types").Search<AnimeMeowSearchMeta>[]>;
|
|
144
|
+
info: (id: string | number) => Promise<import("../types").Info<unknown, import("../types").Episode<unknown>>>;
|
|
145
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<unknown>[]>;
|
|
146
|
+
sources: (params: {
|
|
147
|
+
id: string | number;
|
|
148
|
+
episodeId: string | number;
|
|
149
|
+
subType?: string;
|
|
150
|
+
server?: string;
|
|
151
|
+
}) => Promise<import("../types").Source<unknown>>;
|
|
152
|
+
};
|
|
64
153
|
AnimeNexus: (apiKey: string) => {
|
|
65
154
|
name: string;
|
|
66
155
|
} & {
|
|
@@ -74,6 +163,19 @@ declare const Anime: {
|
|
|
74
163
|
server?: string;
|
|
75
164
|
}) => Promise<import("../types").Source<unknown>>;
|
|
76
165
|
};
|
|
166
|
+
AnimeNix: (apiKey: string) => {
|
|
167
|
+
name: string;
|
|
168
|
+
} & {
|
|
169
|
+
search: (q: string) => Promise<import("../types").Search<AnimeNixSearchMeta>[]>;
|
|
170
|
+
info: (id: string | number) => Promise<import("../types").Info<unknown, import("../types").Episode<AnimeNixEpisodeMeta>>>;
|
|
171
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<AnimeNixEpisodeMeta>[]>;
|
|
172
|
+
sources: (params: {
|
|
173
|
+
id: string | number;
|
|
174
|
+
episodeId: string | number;
|
|
175
|
+
subType?: string;
|
|
176
|
+
server?: string;
|
|
177
|
+
}) => Promise<import("../types").Source<unknown>>;
|
|
178
|
+
};
|
|
77
179
|
AnimeOnsen: (apiKey: string) => {
|
|
78
180
|
name: string;
|
|
79
181
|
} & {
|
|
@@ -171,3 +273,21 @@ declare const Anime: {
|
|
|
171
273
|
};
|
|
172
274
|
};
|
|
173
275
|
export { Anime };
|
|
276
|
+
export * from './123anime';
|
|
277
|
+
export * from './aniliberty';
|
|
278
|
+
export * from './anime3rb';
|
|
279
|
+
export * from './animeav1';
|
|
280
|
+
export * from './animegg';
|
|
281
|
+
export * from './animeheaven';
|
|
282
|
+
export * from './animekai';
|
|
283
|
+
export * from './animelib';
|
|
284
|
+
export * from './animemeow';
|
|
285
|
+
export * from './animenexus';
|
|
286
|
+
export * from './animenix';
|
|
287
|
+
export * from './animeonsen';
|
|
288
|
+
export * from './animepahe';
|
|
289
|
+
export * from './anizone';
|
|
290
|
+
export * from './hianime';
|
|
291
|
+
export * from './kickassanime';
|
|
292
|
+
export * from './lunar';
|
|
293
|
+
export * from './uniquestream';
|
package/dist/core/anime/index.js
CHANGED
|
@@ -16,6 +16,22 @@ const OneTwoThreeAnime = (apiKey) => AnimeFetch({
|
|
|
16
16
|
provider: 'onetwothreeanime',
|
|
17
17
|
apiKey,
|
|
18
18
|
});
|
|
19
|
+
const Aniliberty = (apiKey) => AnimeFetch({
|
|
20
|
+
provider: 'aniliberty',
|
|
21
|
+
apiKey,
|
|
22
|
+
});
|
|
23
|
+
const Anime3rb = (apiKey) => AnimeFetch({
|
|
24
|
+
provider: 'anime3rb',
|
|
25
|
+
apiKey,
|
|
26
|
+
});
|
|
27
|
+
const AnimeAV1 = (apiKey) => AnimeFetch({
|
|
28
|
+
provider: 'animeav1',
|
|
29
|
+
apiKey,
|
|
30
|
+
});
|
|
31
|
+
const AnimeGG = (apiKey) => AnimeFetch({
|
|
32
|
+
provider: 'animegg',
|
|
33
|
+
apiKey,
|
|
34
|
+
});
|
|
19
35
|
/**
|
|
20
36
|
* Creates an AnimeParadise API client.
|
|
21
37
|
*
|
|
@@ -67,6 +83,14 @@ const AnimeKai = (apiKey) => AnimeFetch({
|
|
|
67
83
|
provider: 'animekai',
|
|
68
84
|
apiKey,
|
|
69
85
|
});
|
|
86
|
+
const AnimeLib = (apiKey) => AnimeFetch({
|
|
87
|
+
provider: 'animelib',
|
|
88
|
+
apiKey,
|
|
89
|
+
});
|
|
90
|
+
const AnimeMeow = (apiKey) => AnimeFetch({
|
|
91
|
+
provider: 'animemeow',
|
|
92
|
+
apiKey,
|
|
93
|
+
});
|
|
70
94
|
/**
|
|
71
95
|
* Creates an AnimeNexus API client.
|
|
72
96
|
*
|
|
@@ -84,6 +108,10 @@ const AnimeNexus = (apiKey) => AnimeFetch({
|
|
|
84
108
|
provider: 'animenexus',
|
|
85
109
|
apiKey,
|
|
86
110
|
});
|
|
111
|
+
const AnimeNix = (apiKey) => AnimeFetch({
|
|
112
|
+
provider: 'animenix',
|
|
113
|
+
apiKey,
|
|
114
|
+
});
|
|
87
115
|
/**
|
|
88
116
|
* Creates an AnimeOnsen API client.
|
|
89
117
|
*
|
|
@@ -231,10 +259,17 @@ const UniqueStream = (apiKey) => AnimeFetch({
|
|
|
231
259
|
});
|
|
232
260
|
const Anime = {
|
|
233
261
|
OneTwoThreeAnime,
|
|
262
|
+
Aniliberty,
|
|
263
|
+
Anime3rb,
|
|
264
|
+
AnimeAV1,
|
|
265
|
+
AnimeGG,
|
|
234
266
|
AnimeParadise,
|
|
235
267
|
AnimeHeaven,
|
|
236
268
|
AnimeKai,
|
|
269
|
+
AnimeLib,
|
|
270
|
+
AnimeMeow,
|
|
237
271
|
AnimeNexus,
|
|
272
|
+
AnimeNix,
|
|
238
273
|
AnimeOnsen,
|
|
239
274
|
AnimePahe,
|
|
240
275
|
AniZone,
|
|
@@ -244,3 +279,21 @@ const Anime = {
|
|
|
244
279
|
UniqueStream,
|
|
245
280
|
};
|
|
246
281
|
export { Anime };
|
|
282
|
+
export * from './123anime';
|
|
283
|
+
export * from './aniliberty';
|
|
284
|
+
export * from './anime3rb';
|
|
285
|
+
export * from './animeav1';
|
|
286
|
+
export * from './animegg';
|
|
287
|
+
export * from './animeheaven';
|
|
288
|
+
export * from './animekai';
|
|
289
|
+
export * from './animelib';
|
|
290
|
+
export * from './animemeow';
|
|
291
|
+
export * from './animenexus';
|
|
292
|
+
export * from './animenix';
|
|
293
|
+
export * from './animeonsen';
|
|
294
|
+
export * from './animepahe';
|
|
295
|
+
export * from './anizone';
|
|
296
|
+
export * from './hianime';
|
|
297
|
+
export * from './kickassanime';
|
|
298
|
+
export * from './lunar';
|
|
299
|
+
export * from './uniquestream';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare const Extractor: {
|
|
2
|
+
Kodik: (apiKey: string) => {
|
|
3
|
+
name: string;
|
|
4
|
+
} & {
|
|
5
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<unknown>[]>;
|
|
6
|
+
sources: (params: {
|
|
7
|
+
id: string | number;
|
|
8
|
+
episodeId: string | number;
|
|
9
|
+
subType?: string;
|
|
10
|
+
server?: string;
|
|
11
|
+
}) => Promise<import("../types").Source<unknown>>;
|
|
12
|
+
translations: (id: string | number) => Promise<import("./kodik").KodikTranslation[]>;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export { Extractor };
|
|
16
|
+
export * from './kodik';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface KodikTranslation {
|
|
2
|
+
id: number | null;
|
|
3
|
+
link: string | null;
|
|
4
|
+
type: string | null;
|
|
5
|
+
title: string | null;
|
|
6
|
+
episodeCount: number | null;
|
|
7
|
+
quality: string | null;
|
|
8
|
+
camrip: boolean | false;
|
|
9
|
+
}
|
|
10
|
+
export interface KodikEpisodeMeta {
|
|
11
|
+
hash: string | null;
|
|
12
|
+
type: string | null;
|
|
13
|
+
link: string | null;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -2,6 +2,7 @@ import type { HianimeEpisodeMeta } from '../anime/hianime';
|
|
|
2
2
|
import type { HAnimeInfoMeta, HAnimeSearchMeta } from './hanime';
|
|
3
3
|
import type { HavenEpisodeMeta, HavenInfoMeta, HavenSourceMeta } from './hentaihaven';
|
|
4
4
|
import type { HStreamSearchMeta } from './hstream';
|
|
5
|
+
import type { WHEpisodeMeta, WHInfoMeta, WHSearchMeta } from './watchhentai';
|
|
5
6
|
declare const Hentai: {
|
|
6
7
|
HAnime: (apiKey: string) => {
|
|
7
8
|
name: string;
|
|
@@ -42,5 +43,22 @@ declare const Hentai: {
|
|
|
42
43
|
server?: string;
|
|
43
44
|
}) => Promise<import("../types").Source<unknown>>;
|
|
44
45
|
};
|
|
46
|
+
WatchHentai: (apiKey: string) => {
|
|
47
|
+
name: string;
|
|
48
|
+
} & {
|
|
49
|
+
search: (q: string) => Promise<import("../types").Search<WHSearchMeta>[]>;
|
|
50
|
+
info: (id: string | number) => Promise<import("../types").Info<WHInfoMeta, import("../types").Episode<WHEpisodeMeta>>>;
|
|
51
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<WHEpisodeMeta>[]>;
|
|
52
|
+
sources: (params: {
|
|
53
|
+
id: string | number;
|
|
54
|
+
episodeId: string | number;
|
|
55
|
+
subType?: string;
|
|
56
|
+
server?: string;
|
|
57
|
+
}) => Promise<import("../types").Source<unknown>>;
|
|
58
|
+
};
|
|
45
59
|
};
|
|
46
60
|
export { Hentai };
|
|
61
|
+
export * from './hanime';
|
|
62
|
+
export * from './hentaihaven';
|
|
63
|
+
export * from './hstream';
|
|
64
|
+
export * from './watchhentai';
|
|
@@ -54,9 +54,18 @@ const HStream = (apiKey) => HentaiFetch({
|
|
|
54
54
|
provider: 'hstream',
|
|
55
55
|
apiKey,
|
|
56
56
|
});
|
|
57
|
+
const WatchHentai = (apiKey) => HentaiFetch({
|
|
58
|
+
provider: 'watchhentai',
|
|
59
|
+
apiKey,
|
|
60
|
+
});
|
|
57
61
|
const Hentai = {
|
|
58
62
|
HAnime,
|
|
59
63
|
HentaiHaven,
|
|
60
64
|
HStream,
|
|
65
|
+
WatchHentai,
|
|
61
66
|
};
|
|
62
67
|
export { Hentai };
|
|
68
|
+
export * from './hanime';
|
|
69
|
+
export * from './hentaihaven';
|
|
70
|
+
export * from './hstream';
|
|
71
|
+
export * from './watchhentai';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface WHSearchMeta {
|
|
2
|
+
type: string | null;
|
|
3
|
+
year: number | null;
|
|
4
|
+
}
|
|
5
|
+
export interface WHInfoMeta {
|
|
6
|
+
airDate: string | null;
|
|
7
|
+
endDate: string | null;
|
|
8
|
+
seasons: number | null;
|
|
9
|
+
duration: string | null;
|
|
10
|
+
studio: string | null;
|
|
11
|
+
tags: string[] | null;
|
|
12
|
+
screenshots: string[] | null;
|
|
13
|
+
}
|
|
14
|
+
export interface WHEpisodeMeta {
|
|
15
|
+
date: string | null;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
1
|
+
export * from './anime/index';
|
|
2
|
+
export * from './hentai/index';
|
|
3
|
+
export * from './manga/index';
|
|
4
|
+
export * from './mapper/index';
|
|
5
|
+
export * from './meta/index';
|
|
6
|
+
export * from './extractors/index';
|
package/dist/core/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
1
|
+
export * from './anime/index';
|
|
2
|
+
export * from './hentai/index';
|
|
3
|
+
export * from './manga/index';
|
|
4
|
+
export * from './mapper/index';
|
|
5
|
+
export * from './meta/index';
|
|
6
|
+
export * from './extractors/index';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface COSearchMeta {
|
|
2
|
+
slug: string | null;
|
|
3
|
+
status: string | null;
|
|
4
|
+
latestChapter: number | null;
|
|
5
|
+
nsfw: boolean | false;
|
|
6
|
+
}
|
|
7
|
+
export interface COInfoMeta {
|
|
8
|
+
slug: string | null;
|
|
9
|
+
status: string | null;
|
|
10
|
+
latestChapter: number | null;
|
|
11
|
+
nsfw: boolean | false;
|
|
12
|
+
}
|
|
13
|
+
export interface COChapterMeta {
|
|
14
|
+
official: boolean;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,7 +1,21 @@
|
|
|
1
|
+
import type { COChapterMeta, COInfoMeta, COSearchMeta } from './comix';
|
|
1
2
|
import type { LMangaInfoMeta, LMangaSearchMeta } from './lunar';
|
|
2
3
|
import type { MDXInfoMeta, MDXSearchMeta } from './mangadex';
|
|
3
4
|
import type { MFInfoMeta, MFSearchMeta } from './mangafire';
|
|
5
|
+
import type { WCInfoMeta, WCSearchMeta } from './weebcentral';
|
|
4
6
|
declare const Manga: {
|
|
7
|
+
Comix: (apiKey: string) => {
|
|
8
|
+
name: string;
|
|
9
|
+
} & {
|
|
10
|
+
search: (q: string) => Promise<import("../types").Search<COSearchMeta>[]>;
|
|
11
|
+
info: (id: string | number) => Promise<import("../types").Info<COInfoMeta, import("../types").Episode<unknown>>>;
|
|
12
|
+
chapters: (id: string | number) => Promise<import("../types").Chapter<COChapterMeta>[]>;
|
|
13
|
+
pages: (params: {
|
|
14
|
+
id: string | number;
|
|
15
|
+
chapterId: string | number;
|
|
16
|
+
lang?: string;
|
|
17
|
+
}) => Promise<import("../types").Page[]>;
|
|
18
|
+
};
|
|
5
19
|
LunarManga: (apiKey: string) => {
|
|
6
20
|
name: string;
|
|
7
21
|
} & {
|
|
@@ -38,5 +52,22 @@ declare const Manga: {
|
|
|
38
52
|
lang?: string;
|
|
39
53
|
}) => Promise<import("../types").Page[]>;
|
|
40
54
|
};
|
|
55
|
+
WeebCentral: (apiKey: string) => {
|
|
56
|
+
name: string;
|
|
57
|
+
} & {
|
|
58
|
+
search: (q: string) => Promise<import("../types").Search<WCSearchMeta>[]>;
|
|
59
|
+
info: (id: string | number) => Promise<import("../types").Info<WCInfoMeta, import("../types").Episode<unknown>>>;
|
|
60
|
+
chapters: (id: string | number) => Promise<import("../types").Chapter<unknown>[]>;
|
|
61
|
+
pages: (params: {
|
|
62
|
+
id: string | number;
|
|
63
|
+
chapterId: string | number;
|
|
64
|
+
lang?: string;
|
|
65
|
+
}) => Promise<import("../types").Page[]>;
|
|
66
|
+
};
|
|
41
67
|
};
|
|
42
68
|
export { Manga };
|
|
69
|
+
export * from './comix';
|
|
70
|
+
export * from './lunar';
|
|
71
|
+
export * from './mangadex';
|
|
72
|
+
export * from './mangafire';
|
|
73
|
+
export * from './weebcentral';
|
package/dist/core/manga/index.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { MangaFetch } from '../../helpers/fetch';
|
|
2
|
+
const Comix = (apiKey) => MangaFetch({
|
|
3
|
+
provider: 'comix',
|
|
4
|
+
apiKey,
|
|
5
|
+
});
|
|
2
6
|
/**
|
|
3
7
|
* Creates a LunarManga API client.
|
|
4
8
|
*
|
|
@@ -63,9 +67,20 @@ const MangaFire = (apiKey) => MangaFetch({
|
|
|
63
67
|
provider: 'mangafire',
|
|
64
68
|
apiKey,
|
|
65
69
|
});
|
|
70
|
+
const WeebCentral = (apiKey) => MangaFetch({
|
|
71
|
+
provider: 'weebcentral',
|
|
72
|
+
apiKey,
|
|
73
|
+
});
|
|
66
74
|
const Manga = {
|
|
75
|
+
Comix,
|
|
67
76
|
LunarManga,
|
|
68
77
|
MangaDex,
|
|
69
78
|
MangaFire,
|
|
79
|
+
WeebCentral,
|
|
70
80
|
};
|
|
71
81
|
export { Manga };
|
|
82
|
+
export * from './comix';
|
|
83
|
+
export * from './lunar';
|
|
84
|
+
export * from './mangadex';
|
|
85
|
+
export * from './mangafire';
|
|
86
|
+
export * from './weebcentral';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface WCLink {
|
|
2
|
+
source: string | null;
|
|
3
|
+
id: string | null;
|
|
4
|
+
}
|
|
5
|
+
export interface WCSearchMeta {
|
|
6
|
+
year: number | null;
|
|
7
|
+
status: string | null;
|
|
8
|
+
type: string | null;
|
|
9
|
+
authors: string[] | null;
|
|
10
|
+
tags: string[] | null;
|
|
11
|
+
}
|
|
12
|
+
export interface WCInfoMeta {
|
|
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: WCLink[] | null;
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
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,6 +1,13 @@
|
|
|
1
|
+
import type { AnilistInfoMeta, AnilistSearchMeta } from './anilist';
|
|
1
2
|
import type { MInfoMeta, MSearchMeta } from './myanimelist';
|
|
2
3
|
import type { MMLInfoMeta, MMSearchMeta } from './mymangalist';
|
|
3
4
|
declare const Meta: {
|
|
5
|
+
Anilist: (apiKey: string) => {
|
|
6
|
+
name: string;
|
|
7
|
+
} & {
|
|
8
|
+
search: (q: string) => Promise<import("../types").Search<AnilistSearchMeta>[]>;
|
|
9
|
+
info: (id: string | number) => Promise<import("../types").Info<AnilistInfoMeta, import("../types").Episode<unknown>>>;
|
|
10
|
+
};
|
|
4
11
|
MyAnimeList: (apiKey: string) => {
|
|
5
12
|
name: string;
|
|
6
13
|
} & {
|
|
@@ -15,3 +22,6 @@ declare const Meta: {
|
|
|
15
22
|
};
|
|
16
23
|
};
|
|
17
24
|
export { Meta };
|
|
25
|
+
export * from './anilist';
|
|
26
|
+
export * from './myanimelist';
|
|
27
|
+
export * from './mymangalist';
|
package/dist/core/meta/index.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { MetaFetch } from '../../helpers/fetch';
|
|
2
|
+
const Anilist = (apiKey) => MetaFetch({
|
|
3
|
+
provider: 'anilist',
|
|
4
|
+
apiKey,
|
|
5
|
+
});
|
|
2
6
|
/**
|
|
3
7
|
* Creates a MyAnimeList API client for anime metadata.
|
|
4
8
|
*
|
|
@@ -48,7 +52,11 @@ const MyMangaList = (apiKey) => MetaFetch({
|
|
|
48
52
|
apiKey,
|
|
49
53
|
});
|
|
50
54
|
const Meta = {
|
|
55
|
+
Anilist,
|
|
51
56
|
MyAnimeList,
|
|
52
57
|
MyMangaList,
|
|
53
58
|
};
|
|
54
59
|
export { Meta };
|
|
60
|
+
export * from './anilist';
|
|
61
|
+
export * from './myanimelist';
|
|
62
|
+
export * from './mymangalist';
|
package/dist/core/types.d.ts
CHANGED
|
@@ -5,13 +5,14 @@ export interface Image {
|
|
|
5
5
|
large: string;
|
|
6
6
|
}
|
|
7
7
|
export interface Title {
|
|
8
|
-
english?: string | null
|
|
9
|
-
romaji?: string | null
|
|
10
|
-
japanese?: string | null
|
|
11
|
-
native?: string | null
|
|
8
|
+
english?: string | null;
|
|
9
|
+
romaji?: string | null;
|
|
10
|
+
japanese?: string | null;
|
|
11
|
+
native?: string | null;
|
|
12
|
+
other?: string | null;
|
|
12
13
|
}
|
|
13
14
|
export interface Chapter<T = unknown> {
|
|
14
|
-
id?: string | null;
|
|
15
|
+
id?: string | number | null;
|
|
15
16
|
title?: string | null;
|
|
16
17
|
number?: number | null;
|
|
17
18
|
rating?: number | null;
|
|
@@ -39,7 +40,7 @@ export interface Info<T = unknown, E = unknown> {
|
|
|
39
40
|
synonyms?: string[] | null;
|
|
40
41
|
description?: string | null;
|
|
41
42
|
image?: Image | null;
|
|
42
|
-
|
|
43
|
+
background?: Image | null;
|
|
43
44
|
logo?: Image | null;
|
|
44
45
|
airedEpisodes?: number | null;
|
|
45
46
|
totalEpisodes?: number | null;
|
|
@@ -78,7 +79,7 @@ export interface Download {
|
|
|
78
79
|
export interface VideoSource {
|
|
79
80
|
url?: string | null;
|
|
80
81
|
isM3U8?: boolean | null;
|
|
81
|
-
type?: VideoType | null;
|
|
82
|
+
type?: VideoType | string | null;
|
|
82
83
|
quality?: string | null;
|
|
83
84
|
isDub?: boolean | null;
|
|
84
85
|
}
|
package/dist/helpers/fetch.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { KodikTranslation } from '../core/extractors/kodik/types';
|
|
1
2
|
import type { Mapping } from '../core/mapper/types';
|
|
2
3
|
import type { Chapter, Episode, Info, Page, Search, Server, Source } from '../core/types';
|
|
3
4
|
type SearchRoute<T = unknown> = (q: string) => Promise<Search<T>[]>;
|
|
@@ -19,6 +20,7 @@ type PagesRoute = (params: {
|
|
|
19
20
|
chapterId: string | number;
|
|
20
21
|
lang?: string;
|
|
21
22
|
}) => Promise<Page[]>;
|
|
23
|
+
type TranslationsRoute = (id: string | number) => Promise<KodikTranslation[]>;
|
|
22
24
|
type MapRoute = (params: {
|
|
23
25
|
id: number;
|
|
24
26
|
provider: string;
|
|
@@ -31,6 +33,7 @@ type RouteMap<TSearchMeta = unknown, TInfoMeta = unknown, TEpisodeMeta = unknown
|
|
|
31
33
|
servers: ServersRoute<TServerMeta>;
|
|
32
34
|
chapters: ChaptersRoute<TChapterMeta>;
|
|
33
35
|
pages: PagesRoute;
|
|
36
|
+
translations: TranslationsRoute;
|
|
34
37
|
map: MapRoute;
|
|
35
38
|
};
|
|
36
39
|
type SelectRoutes = {
|
|
@@ -75,4 +78,9 @@ export declare const MetaFetch: <TSearchMeta = unknown, TInfoMeta = unknown, S e
|
|
|
75
78
|
export declare const MapperFetch: (config: FetchModuleConfig) => BuildRoutes<{
|
|
76
79
|
map: true;
|
|
77
80
|
}>;
|
|
81
|
+
export declare const KodikFetch: (config: FetchModuleConfig) => BuildRoutes<{
|
|
82
|
+
episodes: true;
|
|
83
|
+
translations: true;
|
|
84
|
+
sources: true;
|
|
85
|
+
}>;
|
|
78
86
|
export {};
|
package/dist/helpers/fetch.js
CHANGED
|
@@ -92,3 +92,17 @@ export const MapperFetch = (config) => {
|
|
|
92
92
|
map,
|
|
93
93
|
};
|
|
94
94
|
};
|
|
95
|
+
export const KodikFetch = (config) => {
|
|
96
|
+
const { baseUrl = 'https://api.crysoline.moe', provider, apiKey } = config;
|
|
97
|
+
const basePath = `${baseUrl}/extractor/${provider}/`;
|
|
98
|
+
const fetcher = fetchFn(basePath, apiKey);
|
|
99
|
+
const episodes = async (id) => fetcher(`episodes/${encodeURIComponent(id)}`);
|
|
100
|
+
const sources = (params) => fetcher('sources', params);
|
|
101
|
+
const translations = (id) => fetcher(`translations/${encodeURIComponent(id)}`);
|
|
102
|
+
return {
|
|
103
|
+
name: provider,
|
|
104
|
+
episodes,
|
|
105
|
+
sources,
|
|
106
|
+
translations,
|
|
107
|
+
};
|
|
108
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export * from './core';
|
|
2
|
+
export * from './core/types';
|
package/dist/index.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export * from './core';
|
|
2
|
+
export * from './core/types';
|
package/package.json
CHANGED