hianime
Version:
a scraper for hianime
90 lines (85 loc) • 2.33 kB
text/typescript
interface HianimeResult {
page: number;
totalPage: number;
hasNextPage: boolean;
results: Result[];
}
interface Result {
id: string;
image?: string;
title?: string;
type?: string;
language?: Language;
dataId: string;
}
interface Language {
sub?: null | string;
dub?: null | string;
}
declare enum Type {
Ona = "ONA",
Special = "SPECIAL",
Tv = "TV"
}
interface HianimeEpisode {
id: string;
number: string;
title: string;
href: string;
}
interface HianimeSources {
headers: Record<string, string>;
sources: Source[];
tracks?: Track[];
encrypted?: boolean;
intro?: Timeskip;
outro?: Timeskip;
server?: number;
}
interface Timeskip {
start?: number;
end?: number;
}
interface Source {
file?: string;
type?: string;
}
interface Track {
file?: string;
label?: string;
kind?: string;
default?: boolean;
}
declare class Hianime {
private readonly BASE_URL;
private readonly MALSYNC_URL;
private getAnimeList;
getSubbedAnime(page?: number): Promise<HianimeResult>;
getDubbedAnime(page?: number): Promise<HianimeResult>;
getMostPopular(page?: number): Promise<HianimeResult>;
getMovies(page?: number): Promise<HianimeResult>;
getTVShows(page?: number): Promise<HianimeResult>;
getSpecialList(page?: number): Promise<HianimeResult>;
getONAList(page?: number): Promise<HianimeResult>;
getOVAList(page?: number): Promise<HianimeResult>;
getTopAiring(page?: number): Promise<HianimeResult>;
search(query: string, page?: number): Promise<HianimeResult>;
getEpisodesByMALID(malId: string): Promise<HianimeEpisode[]>;
getEpisodes(dataId: string): Promise<HianimeEpisode[]>;
getEpisodeServers(episodeId: string): Promise<{
sub: {
type: string;
id: string;
serverId: string;
name: string;
}[];
dub: {
type: string;
id: string;
serverId: string;
name: string;
}[];
}>;
getEpisodeSources(serverId: string): Promise<HianimeSources>;
}
export { Hianime, type HianimeEpisode, type HianimeResult, type HianimeSources, type Language, type Result, type Source, type Timeskip, type Track, Type, Hianime as default };