multi-downloader-nx/@types/crunchySearch.d.ts
2021-10-31 13:21:02 +01:00

175 lines
4.2 KiB
TypeScript

// Generated by https://quicktype.io
export interface CrunchySearch {
__class__: string;
__href__: string;
__resource_key__: string;
__links__: CrunchySearchLinks;
__actions__: Actions;
total: number;
items: CrunchySearchItem[];
}
export interface Actions {
}
export interface CrunchySearchLinks {
continuation?: Continuation;
}
export interface Continuation {
href: string;
}
export interface CrunchySearchItem {
__class__: string;
__href__: string;
__resource_key__: string;
__links__: CrunchySearchLinks;
__actions__: Actions;
type: string;
total: number;
items: ItemItem[];
}
export interface ItemItem {
__actions__: Actions;
__class__: Class;
__href__: string;
__links__: PurpleLinks;
channel_id: ChannelID;
description: string;
external_id: string;
id: string;
images: Images;
linked_resource_key: string;
new: boolean;
new_content: boolean;
promo_description: string;
promo_title: string;
search_metadata: SearchMetadata;
series_metadata?: SeriesMetadata;
slug: string;
slug_title: string;
title: string;
type: ItemType;
episode_metadata?: EpisodeMetadata;
playback?: string;
isSelected?: boolean;
season_number?: string;
is_premium_only?: boolean;
hide_metadata?: boolean;
seq_id?: string;
f_num?: string;
s_num?: string;
ep_num?: string;
last_public?: string;
subtitle_locales?: string[];
availability_notes?: string
}
export enum Class {
Panel = "panel",
}
export interface PurpleLinks {
resource: Continuation;
"resource/channel": Continuation;
"episode/season"?: Continuation;
"episode/series"?: Continuation;
streams?: Continuation;
}
export enum ChannelID {
Crunchyroll = "crunchyroll",
}
export interface EpisodeMetadata {
ad_breaks: AdBreak[];
availability_notes: string;
available_offline: boolean;
duration_ms: number;
episode: string;
episode_air_date: string;
episode_number: number;
is_clip: boolean;
is_dubbed: boolean;
is_mature: boolean;
is_premium_only: boolean;
is_subbed: boolean;
mature_blocked: boolean;
maturity_ratings: string[];
season_id: string;
season_number: number;
season_slug_title: string;
season_title: string;
sequence_number: number;
series_id: string;
series_slug_title: string;
series_title: string;
subtitle_locales: string[];
tenant_categories?: TenantCategory[];
available_date?: string;
free_available_date?: string;
}
export interface AdBreak {
offset_ms: number;
type: AdBreakType;
}
export enum AdBreakType {
Midroll = "midroll",
Preroll = "preroll",
}
export enum TenantCategory {
Action = "Action",
Drama = "Drama",
SciFi = "Sci-Fi",
}
export interface Images {
poster_tall?: Array<PosterTall[]>;
poster_wide?: Array<PosterTall[]>;
thumbnail?: Array<PosterTall[]>;
}
export interface PosterTall {
height: number;
source: string;
type: PosterTallType;
width: number;
}
export enum PosterTallType {
PosterTall = "poster_tall",
PosterWide = "poster_wide",
Thumbnail = "thumbnail",
}
export interface SearchMetadata {
score: number;
}
export interface SeriesMetadata {
availability_notes: string;
episode_count: number;
extended_description: string;
is_dubbed: boolean;
is_mature: boolean;
is_simulcast: boolean;
is_subbed: boolean;
mature_blocked: boolean;
maturity_ratings: string[];
season_count: number;
tenant_categories: TenantCategory[];
}
export enum ItemType {
Episode = "episode",
Series = "series",
Season = 'season',
MovieListing = 'movie_listing',
Movie = 'Movie'
}