@crysoline/lib 0.1.1
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/LICENSE +21 -0
- package/README.md +98 -0
- package/dist/core/anime/123anime/index.d.ts +1 -0
- package/dist/core/anime/123anime/index.js +1 -0
- package/dist/core/anime/123anime/types.d.ts +11 -0
- package/dist/core/anime/123anime/types.js +1 -0
- package/dist/core/anime/animeheaven/index.d.ts +1 -0
- package/dist/core/anime/animeheaven/index.js +1 -0
- package/dist/core/anime/animeheaven/types.d.ts +6 -0
- package/dist/core/anime/animeheaven/types.js +1 -0
- package/dist/core/anime/animekai/index.d.ts +1 -0
- package/dist/core/anime/animekai/index.js +1 -0
- package/dist/core/anime/animekai/types.d.ts +36 -0
- package/dist/core/anime/animekai/types.js +1 -0
- package/dist/core/anime/animenexus/index.d.ts +1 -0
- package/dist/core/anime/animenexus/index.js +1 -0
- package/dist/core/anime/animenexus/types.d.ts +63 -0
- package/dist/core/anime/animenexus/types.js +1 -0
- package/dist/core/anime/animeonsen/index.d.ts +1 -0
- package/dist/core/anime/animeonsen/index.js +1 -0
- package/dist/core/anime/animeonsen/types.d.ts +23 -0
- package/dist/core/anime/animeonsen/types.js +1 -0
- package/dist/core/anime/animepahe/index.d.ts +1 -0
- package/dist/core/anime/animepahe/index.js +1 -0
- package/dist/core/anime/animepahe/types.d.ts +38 -0
- package/dist/core/anime/animepahe/types.js +1 -0
- package/dist/core/anime/anizone/index.d.ts +1 -0
- package/dist/core/anime/anizone/index.js +1 -0
- package/dist/core/anime/anizone/types.d.ts +19 -0
- package/dist/core/anime/anizone/types.js +1 -0
- package/dist/core/anime/hianime/index.d.ts +1 -0
- package/dist/core/anime/hianime/index.js +1 -0
- package/dist/core/anime/hianime/types.d.ts +40 -0
- package/dist/core/anime/hianime/types.js +1 -0
- package/dist/core/anime/index.d.ts +145 -0
- package/dist/core/anime/index.js +64 -0
- package/dist/core/anime/kickassanime/index.d.ts +1 -0
- package/dist/core/anime/kickassanime/index.js +1 -0
- package/dist/core/anime/kickassanime/types.d.ts +49 -0
- package/dist/core/anime/kickassanime/types.js +1 -0
- package/dist/core/anime/lunar/index.d.ts +1 -0
- package/dist/core/anime/lunar/index.js +1 -0
- package/dist/core/anime/lunar/types.d.ts +38 -0
- package/dist/core/anime/lunar/types.js +1 -0
- package/dist/core/anime/uniquestream/index.d.ts +1 -0
- package/dist/core/anime/uniquestream/index.js +1 -0
- package/dist/core/anime/uniquestream/types.d.ts +23 -0
- package/dist/core/anime/uniquestream/types.js +1 -0
- package/dist/core/hentai/hanime/index.d.ts +1 -0
- package/dist/core/hentai/hanime/index.js +1 -0
- package/dist/core/hentai/hanime/types.d.ts +23 -0
- package/dist/core/hentai/hanime/types.js +1 -0
- package/dist/core/hentai/hentaihaven/index.d.ts +1 -0
- package/dist/core/hentai/hentaihaven/index.js +1 -0
- package/dist/core/hentai/hentaihaven/types.d.ts +13 -0
- package/dist/core/hentai/hentaihaven/types.js +1 -0
- package/dist/core/hentai/hstream/index.d.ts +1 -0
- package/dist/core/hentai/hstream/index.js +1 -0
- package/dist/core/hentai/hstream/types.d.ts +6 -0
- package/dist/core/hentai/hstream/types.js +1 -0
- package/dist/core/hentai/index.d.ts +40 -0
- package/dist/core/hentai/index.js +19 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/index.js +5 -0
- package/dist/core/manga/index.d.ts +36 -0
- package/dist/core/manga/index.js +19 -0
- package/dist/core/manga/lunar/index.d.ts +1 -0
- package/dist/core/manga/lunar/index.js +1 -0
- package/dist/core/manga/lunar/types.d.ts +41 -0
- package/dist/core/manga/lunar/types.js +1 -0
- package/dist/core/manga/mangadex/index.d.ts +1 -0
- package/dist/core/manga/mangadex/index.js +1 -0
- package/dist/core/manga/mangadex/types.d.ts +33 -0
- package/dist/core/manga/mangadex/types.js +14 -0
- package/dist/core/manga/mangafire/index.d.ts +1 -0
- package/dist/core/manga/mangafire/index.js +1 -0
- package/dist/core/manga/mangafire/types.d.ts +22 -0
- package/dist/core/manga/mangafire/types.js +1 -0
- package/dist/core/mapper/index.d.ts +7 -0
- package/dist/core/mapper/index.js +6 -0
- package/dist/core/mapper/types.d.ts +8 -0
- package/dist/core/mapper/types.js +1 -0
- package/dist/core/meta/index.d.ts +13 -0
- package/dist/core/meta/index.js +14 -0
- package/dist/core/meta/myanimelist/index.d.ts +1 -0
- package/dist/core/meta/myanimelist/index.js +1 -0
- package/dist/core/meta/myanimelist/types.d.ts +69 -0
- package/dist/core/meta/myanimelist/types.js +1 -0
- package/dist/core/meta/mymangalist/index.d.ts +1 -0
- package/dist/core/meta/mymangalist/index.js +1 -0
- package/dist/core/meta/mymangalist/types.d.ts +48 -0
- package/dist/core/meta/mymangalist/types.js +1 -0
- package/dist/core/types.d.ts +101 -0
- package/dist/core/types.js +6 -0
- package/dist/helpers/fetch.d.ts +49 -0
- package/dist/helpers/fetch.js +161 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +33 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Crysoline
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Crysoline Library
|
|
2
|
+
|
|
3
|
+
**Crysoline Library** is a modular and extensible TypeScript library designed for anime, manga, and meta-data parsing and handling. The library offers specific modules for various platforms, all neatly categorized for ease of use and maintainability.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Anime Parsers**: Support for platforms like 123Anime, AnimeHeaven, AnimePahe and so on...
|
|
8
|
+
- **Hentai Parsers**: Parsing modules for services like Hanime, HentaiHaven and more...
|
|
9
|
+
- **Manga Parsers**: Support for platforms like MangaDex, MangaFire, and more...
|
|
10
|
+
- **Meta Data Integration**: Integration for meta platforms like MyAnimeList and MyMangaList.
|
|
11
|
+
- **Mapper Utilities**: Custom mappers for complex mapping scenarios.
|
|
12
|
+
- **Modular Design**: Add or remove modules according to your specific needs.
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
bun install @crysoline/lib
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Usage
|
|
21
|
+
|
|
22
|
+
Import any module to get started.
|
|
23
|
+
|
|
24
|
+
### Example
|
|
25
|
+
|
|
26
|
+
Here’s how you might fetch data from AnimePahe:
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
import { Anime } from 'crysoline-lib/src/core/anime';
|
|
30
|
+
|
|
31
|
+
const API_KEY = 'your-api-key';
|
|
32
|
+
const animePahe = Anime.AnimePahe(API_KEY);
|
|
33
|
+
|
|
34
|
+
(async () => {
|
|
35
|
+
// Search for an anime
|
|
36
|
+
const searchResults = await animePahe.search('Bleach');
|
|
37
|
+
console.log('Search Results:', searchResults);
|
|
38
|
+
|
|
39
|
+
// Get detailed info about the first anime in the search results
|
|
40
|
+
const animeId = searchResults[0].id;
|
|
41
|
+
const animeInfo = await animePahe.info(animeId);
|
|
42
|
+
console.log('Anime Info:', animeInfo);
|
|
43
|
+
|
|
44
|
+
// Get episodes for the anime
|
|
45
|
+
const episodes = await animePahe.episodes(animeId);
|
|
46
|
+
console.log('Episodes:', episodes);
|
|
47
|
+
})();
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Development
|
|
51
|
+
|
|
52
|
+
To contribute, clone the repository and navigate to the project directory:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
git clone https://github.com/crysoline/crysoline-lib.git
|
|
56
|
+
cd crysoline-lib
|
|
57
|
+
bun install
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Run the project with the following:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
bun run build
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## File Structure
|
|
67
|
+
|
|
68
|
+
The project is organized to facilitate modularity:
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
src/
|
|
72
|
+
core/
|
|
73
|
+
anime/ --> Anime parsing modules
|
|
74
|
+
hentai/ --> Hentai parsing modules
|
|
75
|
+
manga/ --> Manga parsing modules
|
|
76
|
+
mapper/ --> Mapper utilities
|
|
77
|
+
meta/ --> Meta-data integration modules
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Contributing
|
|
81
|
+
|
|
82
|
+
We welcome contributions! Fork the project, create a new branch, and submit a pull request.
|
|
83
|
+
|
|
84
|
+
## Support
|
|
85
|
+
You can contact the maintainers of crysoline via the GitHub issues, or [join the discord server](https://dsc.gg/crysoline) (Recommended).
|
|
86
|
+
|
|
87
|
+
<a href="https://dsc.gg/crysoline">
|
|
88
|
+
<img src="https://discordapp.com/api/guilds/1399386645601583264/widget.png?style=banner2">
|
|
89
|
+
</a>
|
|
90
|
+
|
|
91
|
+
## License
|
|
92
|
+
|
|
93
|
+
Check the [LICENSE](LICENSE) file for details.
|
|
94
|
+
|
|
95
|
+
## Note
|
|
96
|
+
|
|
97
|
+
We use Bun as our runtime environment although it should be compatible with other envs too. If you encounter any issues, please open an issue on GitHub.
|
|
98
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface OneTwoThreeAnimeSearchMeta {
|
|
2
|
+
type: string | null;
|
|
3
|
+
}
|
|
4
|
+
export interface OneTwoThreeAnimeInfoMeta {
|
|
5
|
+
year: number | null;
|
|
6
|
+
season: string | null;
|
|
7
|
+
status: string | null;
|
|
8
|
+
genres: string[] | null;
|
|
9
|
+
country: string | null;
|
|
10
|
+
keywords: string[] | null;
|
|
11
|
+
}
|
|
@@ -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,36 @@
|
|
|
1
|
+
export interface KaiRelation {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
url: string;
|
|
5
|
+
image?: string;
|
|
6
|
+
japaneseTitle?: string;
|
|
7
|
+
type?: string;
|
|
8
|
+
sub?: number;
|
|
9
|
+
dub?: number;
|
|
10
|
+
relationType?: string;
|
|
11
|
+
episodes?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface KaiEpisodeMeta {
|
|
14
|
+
isSub: boolean | null;
|
|
15
|
+
isDub: boolean | null;
|
|
16
|
+
url: string | null;
|
|
17
|
+
}
|
|
18
|
+
export interface KaiInfoMeta {
|
|
19
|
+
ani_id: string | null;
|
|
20
|
+
type: string | null;
|
|
21
|
+
url: string | null;
|
|
22
|
+
sub: number | null;
|
|
23
|
+
dub: number | null;
|
|
24
|
+
hasSub: boolean | null;
|
|
25
|
+
hasDub: boolean | null;
|
|
26
|
+
status: string | null;
|
|
27
|
+
season: string | null;
|
|
28
|
+
genres: string[] | null;
|
|
29
|
+
relations: KaiRelation[] | null;
|
|
30
|
+
}
|
|
31
|
+
export interface KaiSearchMeta {
|
|
32
|
+
sub: number | null;
|
|
33
|
+
dub: number | null;
|
|
34
|
+
type: string | null;
|
|
35
|
+
url: string | null;
|
|
36
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export interface NGenre {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
code: string;
|
|
5
|
+
}
|
|
6
|
+
export interface NProducer {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
}
|
|
10
|
+
export interface NStudio {
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
}
|
|
14
|
+
export interface NDemographic {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
code: string;
|
|
18
|
+
}
|
|
19
|
+
export interface NImage {
|
|
20
|
+
resized: Record<string, string>;
|
|
21
|
+
resized_blur: Record<string, string>;
|
|
22
|
+
}
|
|
23
|
+
export interface NRelationShow {
|
|
24
|
+
id: string;
|
|
25
|
+
name: string | null;
|
|
26
|
+
slug: string;
|
|
27
|
+
relation: string;
|
|
28
|
+
poster: NImage;
|
|
29
|
+
}
|
|
30
|
+
export interface NSearchMeta {
|
|
31
|
+
year: number | null;
|
|
32
|
+
type: string | null;
|
|
33
|
+
status: string | null;
|
|
34
|
+
rating: string | null;
|
|
35
|
+
slug: string | null;
|
|
36
|
+
genres: NGenre[];
|
|
37
|
+
}
|
|
38
|
+
export interface NInfoMeta {
|
|
39
|
+
year: number | null;
|
|
40
|
+
score: number | null;
|
|
41
|
+
season: string | null;
|
|
42
|
+
slug: string | null;
|
|
43
|
+
rating: string | null;
|
|
44
|
+
status: string | null;
|
|
45
|
+
type: string | null;
|
|
46
|
+
trailer: string | null;
|
|
47
|
+
startDate: string | null;
|
|
48
|
+
endDate: string | null;
|
|
49
|
+
releaseDay: string | null;
|
|
50
|
+
broadcast: string | null;
|
|
51
|
+
genres: NGenre[];
|
|
52
|
+
producers: NProducer[];
|
|
53
|
+
studios: NStudio[];
|
|
54
|
+
demographics: NDemographic[];
|
|
55
|
+
relations: NRelationShow[];
|
|
56
|
+
}
|
|
57
|
+
export interface NEpisodeMeta {
|
|
58
|
+
subtitle_languages: string[];
|
|
59
|
+
audio_languages: string[];
|
|
60
|
+
status: string | null;
|
|
61
|
+
duration: number | null;
|
|
62
|
+
slug: string | null;
|
|
63
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface OBroadcast {
|
|
2
|
+
day_of_the_week: string;
|
|
3
|
+
start_time: string;
|
|
4
|
+
}
|
|
5
|
+
export interface OGenre {
|
|
6
|
+
id: number;
|
|
7
|
+
name: string;
|
|
8
|
+
}
|
|
9
|
+
export interface OStudio {
|
|
10
|
+
id: number;
|
|
11
|
+
name: string;
|
|
12
|
+
}
|
|
13
|
+
export interface OEpisodeMeta {
|
|
14
|
+
title_jp: string | null;
|
|
15
|
+
}
|
|
16
|
+
export interface OInfoMeta {
|
|
17
|
+
score: number | null;
|
|
18
|
+
rating: string | null;
|
|
19
|
+
type: string | null;
|
|
20
|
+
broadcast: OBroadcast | null;
|
|
21
|
+
genres: Array<OGenre> | null;
|
|
22
|
+
studios: Array<OStudio> | null;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export interface PaheRelations {
|
|
2
|
+
id: string | null;
|
|
3
|
+
title: string | null;
|
|
4
|
+
image: string | null;
|
|
5
|
+
url: string | null;
|
|
6
|
+
releaseDate: string | null;
|
|
7
|
+
type: string | null;
|
|
8
|
+
relationType: string | null;
|
|
9
|
+
}
|
|
10
|
+
export interface PaheExternalLinks {
|
|
11
|
+
id: string | null;
|
|
12
|
+
url: string | null;
|
|
13
|
+
sourceName: string | null;
|
|
14
|
+
}
|
|
15
|
+
export interface PaheSearchMeta {
|
|
16
|
+
year: number | null;
|
|
17
|
+
rating: number | null;
|
|
18
|
+
type: string | null;
|
|
19
|
+
}
|
|
20
|
+
export interface PaheEpisodeMeta {
|
|
21
|
+
duration: string | null;
|
|
22
|
+
url: string | null;
|
|
23
|
+
}
|
|
24
|
+
export interface PaheInfoMeta {
|
|
25
|
+
year: number | null;
|
|
26
|
+
season: string | null;
|
|
27
|
+
status: string | null;
|
|
28
|
+
type: string | null;
|
|
29
|
+
startDate: string | null;
|
|
30
|
+
endDate: string | null;
|
|
31
|
+
duration: string | null;
|
|
32
|
+
genres: string[] | null;
|
|
33
|
+
studios: string[] | null;
|
|
34
|
+
themes: string[] | null;
|
|
35
|
+
demographics: string[] | null;
|
|
36
|
+
externalLinks: Array<Partial<PaheExternalLinks>> | null;
|
|
37
|
+
relations: Array<Partial<PaheRelations>>;
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface AZAirDate {
|
|
2
|
+
iso: string | null;
|
|
3
|
+
date: Date | null;
|
|
4
|
+
unix: number | null;
|
|
5
|
+
}
|
|
6
|
+
export interface AZInfoMeta {
|
|
7
|
+
type: string | null;
|
|
8
|
+
status: string | null;
|
|
9
|
+
year: string | null;
|
|
10
|
+
officialSite: string | null;
|
|
11
|
+
}
|
|
12
|
+
export interface AZEpisodeMeta {
|
|
13
|
+
airDate: AZAirDate;
|
|
14
|
+
}
|
|
15
|
+
export interface AZSearchMeta {
|
|
16
|
+
year: string | null;
|
|
17
|
+
genres: string[];
|
|
18
|
+
format: string | null;
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export interface HianimeTvInfo {
|
|
2
|
+
rating: string | null;
|
|
3
|
+
quality: string | null;
|
|
4
|
+
sub: number | null;
|
|
5
|
+
dub: number | null;
|
|
6
|
+
showType: string | null;
|
|
7
|
+
duration: string | null;
|
|
8
|
+
}
|
|
9
|
+
export interface HianimeSeason {
|
|
10
|
+
id: string | null;
|
|
11
|
+
data_number: number | null;
|
|
12
|
+
data_id: number | null;
|
|
13
|
+
season: string | null;
|
|
14
|
+
title: string | null;
|
|
15
|
+
image: string | null;
|
|
16
|
+
}
|
|
17
|
+
export interface HianimeSearchMeta {
|
|
18
|
+
duration: string | null;
|
|
19
|
+
tvInfo: Partial<HianimeTvInfo>;
|
|
20
|
+
}
|
|
21
|
+
export interface HianimeEpisodeMeta {
|
|
22
|
+
title_jp: string | null;
|
|
23
|
+
}
|
|
24
|
+
export interface HianimeInfoMeta {
|
|
25
|
+
year: number | null;
|
|
26
|
+
score: number | null;
|
|
27
|
+
season: string | null;
|
|
28
|
+
rating: string | null;
|
|
29
|
+
type: string | null;
|
|
30
|
+
subCount: number | null;
|
|
31
|
+
dubCount: number | null;
|
|
32
|
+
adult: boolean | null;
|
|
33
|
+
startDate: string | null;
|
|
34
|
+
endDate: string | null;
|
|
35
|
+
duration: string | null;
|
|
36
|
+
genres: string[] | null;
|
|
37
|
+
studios: string[] | null;
|
|
38
|
+
producers: string[] | null;
|
|
39
|
+
seasons: HianimeSeason[] | null;
|
|
40
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import type { OneTwoThreeAnimeInfoMeta, OneTwoThreeAnimeSearchMeta } from './123anime';
|
|
2
|
+
import type { KaiEpisodeMeta, KaiInfoMeta, KaiSearchMeta } from './animekai';
|
|
3
|
+
import type { NEpisodeMeta, NInfoMeta, NSearchMeta } from './animenexus';
|
|
4
|
+
import type { OEpisodeMeta, OInfoMeta } from './animeonsen';
|
|
5
|
+
import type { PaheEpisodeMeta, PaheInfoMeta, PaheSearchMeta } from './animepahe';
|
|
6
|
+
import type { AZEpisodeMeta, AZInfoMeta, AZSearchMeta } from './anizone';
|
|
7
|
+
import type { HianimeEpisodeMeta, HianimeInfoMeta, HianimeSearchMeta } from './hianime';
|
|
8
|
+
import type { KEpisodeMeta, KInfoMeta, KSearchMeta, KSourceMeta } from './kickassanime';
|
|
9
|
+
import type { LEpisodeMeta, LInfoMeta, LSearchMeta, LSourcesMeta } from './lunar';
|
|
10
|
+
import type { UniqueEpisodeMeta, UniqueInfoMeta, UniqueSearchMeta } from './uniquestream';
|
|
11
|
+
declare const Anime: {
|
|
12
|
+
OneTwoThreeAnime: (apiKey: string) => {
|
|
13
|
+
search: (q: string) => Promise<import("../types").Search<OneTwoThreeAnimeSearchMeta>[]>;
|
|
14
|
+
info: (id: string | number) => Promise<import("../types").Info<OneTwoThreeAnimeInfoMeta, import("../types").Episode<unknown>>>;
|
|
15
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<unknown>[]>;
|
|
16
|
+
sources: (params: {
|
|
17
|
+
id: string | number;
|
|
18
|
+
episodeId: string | number;
|
|
19
|
+
subType?: string;
|
|
20
|
+
server?: string;
|
|
21
|
+
}) => Promise<import("../types").Source<unknown>>;
|
|
22
|
+
};
|
|
23
|
+
AnimeParadise: (apiKey: string) => {
|
|
24
|
+
search: (q: string) => Promise<import("../types").Search<unknown>[]>;
|
|
25
|
+
info: (id: string | number) => Promise<import("../types").Info<unknown, import("../types").Episode<unknown>>>;
|
|
26
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<unknown>[]>;
|
|
27
|
+
sources: (params: {
|
|
28
|
+
id: string | number;
|
|
29
|
+
episodeId: string | number;
|
|
30
|
+
subType?: string;
|
|
31
|
+
server?: string;
|
|
32
|
+
}) => Promise<import("../types").Source<unknown>>;
|
|
33
|
+
};
|
|
34
|
+
AnimeHeaven: (apiKey: string) => {
|
|
35
|
+
search: (q: string) => Promise<import("../types").Search<unknown>[]>;
|
|
36
|
+
info: (id: string | number) => Promise<import("../types").Info<unknown, import("../types").Episode<unknown>>>;
|
|
37
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<unknown>[]>;
|
|
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
|
+
AnimeKai: (apiKey: string) => {
|
|
46
|
+
search: (q: string) => Promise<import("../types").Search<KaiSearchMeta>[]>;
|
|
47
|
+
info: (id: string | number) => Promise<import("../types").Info<KaiInfoMeta, import("../types").Episode<KaiEpisodeMeta>>>;
|
|
48
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<KaiEpisodeMeta>[]>;
|
|
49
|
+
sources: (params: {
|
|
50
|
+
id: string | number;
|
|
51
|
+
episodeId: string | number;
|
|
52
|
+
subType?: string;
|
|
53
|
+
server?: string;
|
|
54
|
+
}) => Promise<import("../types").Source<unknown>>;
|
|
55
|
+
};
|
|
56
|
+
AnimeNexus: (apiKey: string) => {
|
|
57
|
+
search: (q: string) => Promise<import("../types").Search<NSearchMeta>[]>;
|
|
58
|
+
info: (id: string | number) => Promise<import("../types").Info<NInfoMeta, import("../types").Episode<NEpisodeMeta>>>;
|
|
59
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<NEpisodeMeta>[]>;
|
|
60
|
+
sources: (params: {
|
|
61
|
+
id: string | number;
|
|
62
|
+
episodeId: string | number;
|
|
63
|
+
subType?: string;
|
|
64
|
+
server?: string;
|
|
65
|
+
}) => Promise<import("../types").Source<unknown>>;
|
|
66
|
+
};
|
|
67
|
+
AnimeOnsen: (apiKey: string) => {
|
|
68
|
+
search: (q: string) => Promise<import("../types").Search<unknown>[]>;
|
|
69
|
+
info: (id: string | number) => Promise<import("../types").Info<OInfoMeta, import("../types").Episode<OEpisodeMeta>>>;
|
|
70
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<OEpisodeMeta>[]>;
|
|
71
|
+
sources: (params: {
|
|
72
|
+
id: string | number;
|
|
73
|
+
episodeId: string | number;
|
|
74
|
+
subType?: string;
|
|
75
|
+
server?: string;
|
|
76
|
+
}) => Promise<import("../types").Source<unknown>>;
|
|
77
|
+
};
|
|
78
|
+
AnimePahe: (apiKey: string) => {
|
|
79
|
+
search: (q: string) => Promise<import("../types").Search<PaheSearchMeta>[]>;
|
|
80
|
+
info: (id: string | number) => Promise<import("../types").Info<PaheInfoMeta, import("../types").Episode<PaheEpisodeMeta>>>;
|
|
81
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<PaheEpisodeMeta>[]>;
|
|
82
|
+
sources: (params: {
|
|
83
|
+
id: string | number;
|
|
84
|
+
episodeId: string | number;
|
|
85
|
+
subType?: string;
|
|
86
|
+
server?: string;
|
|
87
|
+
}) => Promise<import("../types").Source<unknown>>;
|
|
88
|
+
};
|
|
89
|
+
AniZone: (apiKey: string) => {
|
|
90
|
+
search: (q: string) => Promise<import("../types").Search<AZSearchMeta>[]>;
|
|
91
|
+
info: (id: string | number) => Promise<import("../types").Info<AZInfoMeta, import("../types").Episode<AZEpisodeMeta>>>;
|
|
92
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<AZEpisodeMeta>[]>;
|
|
93
|
+
sources: (params: {
|
|
94
|
+
id: string | number;
|
|
95
|
+
episodeId: string | number;
|
|
96
|
+
subType?: string;
|
|
97
|
+
server?: string;
|
|
98
|
+
}) => Promise<import("../types").Source<unknown>>;
|
|
99
|
+
};
|
|
100
|
+
HiAnime: (apiKey: string) => {
|
|
101
|
+
search: (q: string) => Promise<import("../types").Search<HianimeSearchMeta>[]>;
|
|
102
|
+
info: (id: string | number) => Promise<import("../types").Info<HianimeInfoMeta, import("../types").Episode<HianimeEpisodeMeta>>>;
|
|
103
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<HianimeEpisodeMeta>[]>;
|
|
104
|
+
sources: (params: {
|
|
105
|
+
id: string | number;
|
|
106
|
+
episodeId: string | number;
|
|
107
|
+
subType?: string;
|
|
108
|
+
server?: string;
|
|
109
|
+
}) => Promise<import("../types").Source<unknown>>;
|
|
110
|
+
};
|
|
111
|
+
KickAssAnime: (apiKey: string) => {
|
|
112
|
+
search: (q: string) => Promise<import("../types").Search<KSearchMeta>[]>;
|
|
113
|
+
info: (id: string | number) => Promise<import("../types").Info<KInfoMeta, import("../types").Episode<KEpisodeMeta>>>;
|
|
114
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<KEpisodeMeta>[]>;
|
|
115
|
+
sources: (params: {
|
|
116
|
+
id: string | number;
|
|
117
|
+
episodeId: string | number;
|
|
118
|
+
subType?: string;
|
|
119
|
+
server?: string;
|
|
120
|
+
}) => Promise<import("../types").Source<KSourceMeta>>;
|
|
121
|
+
};
|
|
122
|
+
LunarAnime: (apiKey: string) => {
|
|
123
|
+
search: (q: string) => Promise<import("../types").Search<LSearchMeta>[]>;
|
|
124
|
+
info: (id: string | number) => Promise<import("../types").Info<LInfoMeta, import("../types").Episode<LEpisodeMeta>>>;
|
|
125
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<LEpisodeMeta>[]>;
|
|
126
|
+
sources: (params: {
|
|
127
|
+
id: string | number;
|
|
128
|
+
episodeId: string | number;
|
|
129
|
+
subType?: string;
|
|
130
|
+
server?: string;
|
|
131
|
+
}) => Promise<import("../types").Source<LSourcesMeta>>;
|
|
132
|
+
};
|
|
133
|
+
UniqueStream: (apiKey: string) => {
|
|
134
|
+
search: (q: string) => Promise<import("../types").Search<UniqueSearchMeta>[]>;
|
|
135
|
+
info: (id: string | number) => Promise<import("../types").Info<UniqueInfoMeta, import("../types").Episode<UniqueEpisodeMeta>>>;
|
|
136
|
+
episodes: (id: string | number) => Promise<import("../types").Episode<UniqueEpisodeMeta>[]>;
|
|
137
|
+
sources: (params: {
|
|
138
|
+
id: string | number;
|
|
139
|
+
episodeId: string | number;
|
|
140
|
+
subType?: string;
|
|
141
|
+
server?: string;
|
|
142
|
+
}) => Promise<import("../types").Source<unknown>>;
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
export { Anime };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { AnimeFetch } from '../../helpers/fetch';
|
|
2
|
+
const OneTwoThreeAnime = (apiKey) => AnimeFetch({
|
|
3
|
+
provider: 'onetwothreeanime',
|
|
4
|
+
apiKey,
|
|
5
|
+
});
|
|
6
|
+
const AnimeParadise = (apiKey) => AnimeFetch({
|
|
7
|
+
provider: 'animeparadise',
|
|
8
|
+
apiKey,
|
|
9
|
+
});
|
|
10
|
+
const AnimeHeaven = (apiKey) => AnimeFetch({
|
|
11
|
+
provider: 'animeheaven',
|
|
12
|
+
apiKey,
|
|
13
|
+
});
|
|
14
|
+
const AnimeKai = (apiKey) => AnimeFetch({
|
|
15
|
+
provider: 'animekai',
|
|
16
|
+
apiKey,
|
|
17
|
+
});
|
|
18
|
+
const AnimeNexus = (apiKey) => AnimeFetch({
|
|
19
|
+
provider: 'animenexus',
|
|
20
|
+
apiKey,
|
|
21
|
+
});
|
|
22
|
+
const AnimeOnsen = (apiKey) => AnimeFetch({
|
|
23
|
+
provider: 'animeonsen',
|
|
24
|
+
apiKey,
|
|
25
|
+
});
|
|
26
|
+
const AnimePahe = (apiKey) => AnimeFetch({
|
|
27
|
+
provider: 'animepahe',
|
|
28
|
+
apiKey,
|
|
29
|
+
});
|
|
30
|
+
const AniZone = (apiKey) => AnimeFetch({
|
|
31
|
+
provider: 'anizone',
|
|
32
|
+
apiKey,
|
|
33
|
+
});
|
|
34
|
+
const HiAnime = (apiKey) => AnimeFetch({
|
|
35
|
+
provider: 'hianime',
|
|
36
|
+
apiKey,
|
|
37
|
+
});
|
|
38
|
+
const KickAssAnime = (apiKey) => AnimeFetch({
|
|
39
|
+
provider: 'kickassanime',
|
|
40
|
+
apiKey,
|
|
41
|
+
});
|
|
42
|
+
const LunarAnime = (apiKey) => AnimeFetch({
|
|
43
|
+
provider: 'lunaranime',
|
|
44
|
+
apiKey,
|
|
45
|
+
});
|
|
46
|
+
const UniqueStream = (apiKey) => AnimeFetch({
|
|
47
|
+
provider: 'uniquestream',
|
|
48
|
+
apiKey,
|
|
49
|
+
});
|
|
50
|
+
const Anime = {
|
|
51
|
+
OneTwoThreeAnime,
|
|
52
|
+
AnimeParadise,
|
|
53
|
+
AnimeHeaven,
|
|
54
|
+
AnimeKai,
|
|
55
|
+
AnimeNexus,
|
|
56
|
+
AnimeOnsen,
|
|
57
|
+
AnimePahe,
|
|
58
|
+
AniZone,
|
|
59
|
+
HiAnime,
|
|
60
|
+
KickAssAnime,
|
|
61
|
+
LunarAnime,
|
|
62
|
+
UniqueStream,
|
|
63
|
+
};
|
|
64
|
+
export { Anime };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|