diff --git a/src/endpoints/changes.ts b/src/endpoints/changes.ts index a4316b5..b7521de 100644 --- a/src/endpoints/changes.ts +++ b/src/endpoints/changes.ts @@ -1,20 +1,20 @@ import { BaseEndpoint } from './base'; -import { ChangeOptions, Changes } from '../types/changes'; +import { ChangeOptions, MediaChanges } from '../types/changes'; export class ChangeEndpoint extends BaseEndpoint { constructor(protected readonly accessToken: string) { super(accessToken); } - async movies(options?: ChangeOptions): Promise { - return await this.api.get(`/movie/changes`, options); + async movies(options?: ChangeOptions): Promise { + return await this.api.get(`/movie/changes`, options); } - async tvShows(options?: ChangeOptions): Promise { - return await this.api.get(`/tv/changes`, options); + async tvShows(options?: ChangeOptions): Promise { + return await this.api.get(`/tv/changes`, options); } - async person(options?: ChangeOptions): Promise { - return await this.api.get(`/person/change`, options); + async person(options?: ChangeOptions): Promise { + return await this.api.get(`/person/change`, options); } } diff --git a/src/endpoints/movies.ts b/src/endpoints/movies.ts index 22503cc..8ac18d5 100644 --- a/src/endpoints/movies.ts +++ b/src/endpoints/movies.ts @@ -4,13 +4,13 @@ import { AppendToResponse, AppendToResponseKeys, ChangeOptions, + Changes, Credits, ExternalIds, Images, Keywords, LanguageOption, LatestMovie, - MovieChanges, MovieDetails, MovieLists, MoviesPlayingNow, @@ -40,7 +40,9 @@ export class MoviesEndpoint extends BaseEndpoint { appendToResponse?: T ) { const options = { - append_to_response: appendToResponse ? appendToResponse.join(',') : undefined, + append_to_response: appendToResponse + ? appendToResponse.join(',') + : undefined, }; return await this.api.get>( @@ -55,11 +57,8 @@ export class MoviesEndpoint extends BaseEndpoint { ); } - async changes(id: number, options?: ChangeOptions): Promise { - return await this.api.get( - `${BASE_MOVIE}/${id}/changes`, - options - ); + async changes(id: number, options?: ChangeOptions): Promise { + return await this.api.get(`${BASE_MOVIE}/${id}/changes`, options); } async credits(id: number): Promise { diff --git a/src/endpoints/tv-shows.ts b/src/endpoints/tv-shows.ts index fd956c9..71777ea 100644 --- a/src/endpoints/tv-shows.ts +++ b/src/endpoints/tv-shows.ts @@ -4,6 +4,7 @@ import { AppendToResponse, AppendToResponseKeys, ChangeOptions, + Changes, ContentRatings, Credits, EpisodeGroups, @@ -23,7 +24,6 @@ import { SimilarTvShows, TopRatedTvShows, Translations, - TvShowChanges, TvShowDetails, TvShowsAiringToday, Videos, @@ -58,11 +58,8 @@ export class TvShowsEndpoint extends BaseEndpoint { ); } - async changes(id: number, options?: ChangeOptions): Promise { - return await this.api.get( - `${BASE_TV}/${id}/changes`, - options - ); + async changes(id: number, options?: ChangeOptions): Promise { + return await this.api.get(`${BASE_TV}/${id}/changes`, options); } async contentRatings(id: number): Promise { diff --git a/src/types/changes.ts b/src/types/changes.ts index b15b7c5..3c5f786 100644 --- a/src/types/changes.ts +++ b/src/types/changes.ts @@ -1,10 +1,10 @@ -export interface Change { +export interface MediaChange { id: number; adult: boolean | undefined; } -export interface Changes { - results: Change[]; +export interface MediaChanges { + results: MediaChange[]; page: number; total_pages: number; total_results: number; @@ -15,3 +15,21 @@ export interface ChangeOptions { start_date?: string; page?: number; } + +export interface Changes { + changes: Change[]; +} + +export interface Change { + key: string; + items: ChangeItem[]; +} + +export interface ChangeItem { + id: string; + action: string; + time: string; + value: Array; + iso_639_1: string; + original_value: Array; +} diff --git a/src/types/configuration.ts b/src/types/configuration.ts index af71bd9..3d2b070 100644 --- a/src/types/configuration.ts +++ b/src/types/configuration.ts @@ -1,8 +1,8 @@ export interface ImageConfiguration { - id: number, - backdrops: null, - logos: null, - posters: null + id: number; + backdrops: null; + logos: null; + posters: null; } export interface Configuration { diff --git a/src/types/index.ts b/src/types/index.ts index 7ad7255..d502ff5 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -204,8 +204,8 @@ export interface Image { } export interface Images { - id: number, - backdrops: Image[], - logos: Image[], - posters: Image[], + id: number; + backdrops: Image[]; + logos: Image[]; + posters: Image[]; } diff --git a/src/types/movies.ts b/src/types/movies.ts index e08c0a5..77789b9 100644 --- a/src/types/movies.ts +++ b/src/types/movies.ts @@ -94,24 +94,6 @@ export interface MovieLists { total_results: number; } -export interface MovieChangeItem { - id: string; - action: string; - time: string; - iso_639_1: string; - value: string; - original_value: string; -} - -export interface MovieChange { - key: string; - items: MovieChangeItem[]; -} - -export interface MovieChanges { - changes: MovieChange[]; -} - export interface LatestMovie { adult: boolean; backdrop_path?: string; diff --git a/src/types/options.ts b/src/types/options.ts index e48c572..085fe63 100644 --- a/src/types/options.ts +++ b/src/types/options.ts @@ -35,15 +35,21 @@ export type AppendToResponse< (T extends undefined ? object : T extends Array - ? ('credits' extends T[number] ? { credits: Omit } : object) & + ? ('credits' extends T[number] + ? { credits: Omit } + : object) & ('videos' extends T[number] ? { videos: Omit } : object) & ('images' extends T[number] ? { images: Omit } : object) & ('recommendations' extends T[number] ? { recommendations: Recommendations } : object) & - ('reviews' extends T[number] ? { reviews: Omit } : object) & + ('reviews' extends T[number] + ? { reviews: Omit } + : object) & ('reviews' extends T[number] ? { reviews: Omit } : object) & - ('keywords' extends T[number] ? { keywords: Omit } : object) + ('keywords' extends T[number] + ? { keywords: Omit } + : object) : never); diff --git a/src/types/tv-shows.ts b/src/types/tv-shows.ts index 375dc50..a38f533 100644 --- a/src/types/tv-shows.ts +++ b/src/types/tv-shows.ts @@ -134,24 +134,6 @@ export interface SeasonDetails { season_number: number; } -export interface TvShowItem { - id: string; - action: string; - time: string; - value: Array; - iso_639_1: string; - original_value: Array; -} - -export interface TvShowChange { - key: string; - items: TvShowItem[]; -} - -export interface TvShowChanges { - changes: TvShowChange[]; -} - export interface Network { id: number; logo_path: string;