crunchyroll-js-api
Version:
JavaScript API consumer for crunchyroll
179 lines (178 loc) • 3.86 kB
TypeScript
declare const _default: {};
export default _default;
export type Token = {
access_token: string;
refresh_token: string;
expires_in: number;
token_type: string;
scope: string;
country: string;
account_id: string;
profile_id: string;
created_date: string;
};
export type TokenObj = {
accessToken: string;
refreshToken: string;
expiresIn: number;
tokenType: string;
token: string;
scope: string;
country: string;
accountId: string;
profileId: string;
createdDate: string;
};
export type DeviceCode = {
user_code: string;
device_code: string;
interval: number;
expires_in: number;
created_date: Date;
};
export type Device = {
id: string;
name: string;
type: string;
};
export type Credential = {
username: string;
password: string;
};
export type Account = {
account_id: string;
external_id: string;
email_verified: boolean;
created: string;
};
export type AccountObj = {
accountId: string;
externalId: string;
emailVerified: boolean;
created: string;
};
export type Profile = {
profile_id: string;
avatar: string;
profile_name: string;
wallpaper?: string;
cr_beta_opt_in: boolean;
crleg_email_verified: boolean;
email: string;
maturity_rating: string;
extended_maturity_rating: {
BR: string;
UN: string;
};
preferred_communication_language: string;
preferred_content_subtitle_language: string;
preferred_content_audio_language: string;
qa_user: boolean;
username: string;
can_switch?: boolean;
is_primary?: boolean;
is_selected?: boolean;
do_not_sell?: boolean;
age_consent?: boolean;
};
export type Cms = {
bucket: string;
policy: string;
signature: string;
key_pair_id: string;
expires: string;
};
export type CmsObj = {
bucket: string;
policy: string;
signature: string;
keyPairId: string;
expires: string;
};
export type Storage = {
credential: Credential;
device: Device;
token: TokenObj;
cms: CmsObj;
account: AccountObj;
};
export type CmsContainer = {
cms: Cms;
cms_beta: Cms;
cms_web: Cms;
service_available: boolean;
default_marketing_opt_in: boolean;
};
export type RatingEpisode = {
up: {
displayed: string;
unit: string;
};
down: {
displayed: string;
unit: string;
};
total: number;
rating: string;
};
export type RatingBasic = {
displayed: string;
unit: string;
percentage: number;
};
export type RatingStars = {};
export type AuthBase = {
token: string;
locale: string;
};
export type CmsAuth = AuthBase & CmsObj;
export type AccountParamSub = {
locale: string;
audioLanguage: string;
};
export type AccountAuth = TokenObj & AccountParamSub;
export type CustomListResponse = {
list_id: string;
total: number;
modified_at: string;
};
export type CrunchyRequestTmp = {
baseUrlIncluded?: boolean;
};
export type CrunchyRequest = CrunchyRequestTmp & import('node-fetch').Request;
export type ProfileCreate = {
username: string;
avatar: string;
wallpaper: string;
profile_name: string;
};
export type AssesItem = {
title: string;
assets: Array<{
id: string;
title: string;
}>;
};
export type ProfileResponse = {
profiles: Array<Profile>;
tier_max_profiles: number;
max_profiles: number;
};
export type HomeProps = {
description?: string;
title?: string;
analyticsId?: string;
contentId?: string;
tallImage?: string;
wideImage?: string;
logoImage?: string;
link?: string;
musicVideoId?: string;
};
export type HomeItem = {
type: string;
id: string;
parentId: string;
props: HomeProps;
children: Array<HomeItem>;
};