yts-api-node
Version:
A promised based node module to interact with the yts.mx api
101 lines (100 loc) • 2.77 kB
TypeScript
export declare type ConfigType = {
baseUrl: string;
format: 'xml' | 'json' | 'jsonp';
paths: {
search: string;
details: string;
suggestions: string;
comments: string;
reviews: string;
parentals: string;
upcomming: string;
};
};
export declare type MovieId = {
movie_id: number;
};
export declare type ListMoviesParams = {
limit?: number;
page?: number;
quality?: '720p' | '1080p' | '2160p' | '3D' | 'All';
minimum_rating?: number;
query_term?: string;
genre?: string;
sort_by?: 'title' | 'year' | 'rating' | 'peers' | 'seeds' | 'download_count' | 'like_count' | 'date_added';
order_by?: 'desc' | 'asc';
with_rt_ratings?: boolean;
};
export declare type MovieDetailsParams = {
movie_id: number | string;
with_images?: boolean;
with_cast?: boolean;
};
export declare type MovieSuggestions = MovieId;
export declare type MovieComments = MovieId;
export declare type MovieReviews = MovieId;
export declare type MovieParentalGuides = MovieId;
export declare type Response<ResponseData> = {
status: string;
status_message: string;
data: ResponseData;
'@meta': ResponseMeta;
};
export declare type ResponseMovies<Movies> = {
movie_count: number;
limit: number;
page_number: number;
movies: Movies[];
};
export declare type SearchResponse = Response<ResponseMovies<ResponseMovie>>;
export declare type SuggestionsResponse = Response<ResponseMovies<ResponseMovie>>;
export declare type DetailsResponse = Response<{
movie: ResponseMovie;
}>;
export declare type ResponseMeta = {
server_time: number;
server_timezone: string;
api_version: number;
execution_time: string;
};
export declare type ResponseMovie = {
id: number;
url: string;
imdb_code: string;
title: string;
title_english: string;
title_long: string;
slug: string;
year: number;
rating: number;
runtime: number;
genres: string[];
summary: string;
description_full: string;
synopsis: string;
yt_trailer_code: string;
language: string;
mpa_rating: string;
background_image: string;
background_image_original: string;
small_cover_image: string;
medium_cover_image: string;
large_cover_image: string;
state: string;
torrents: ResponseTorrent[];
date_uploaded: string;
date_uploaded_unix: number;
};
export declare type ResponseTorrent = {
url: string;
hash: string;
quality: ResponseQuality;
type: string;
seeds: number;
peers: number;
size: string;
size_bytes: number;
date_uploaded: string;
date_uploaded_unix: number;
};
export declare type ResponseQuality = '720p' | '1080p' | '2160p' | '3D';