format & combined equal changes type
This commit is contained in:
@@ -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<Changes> {
|
||||
return await this.api.get<Changes>(`/movie/changes`, options);
|
||||
async movies(options?: ChangeOptions): Promise<MediaChanges> {
|
||||
return await this.api.get<MediaChanges>(`/movie/changes`, options);
|
||||
}
|
||||
|
||||
async tvShows(options?: ChangeOptions): Promise<Changes> {
|
||||
return await this.api.get<Changes>(`/tv/changes`, options);
|
||||
async tvShows(options?: ChangeOptions): Promise<MediaChanges> {
|
||||
return await this.api.get<MediaChanges>(`/tv/changes`, options);
|
||||
}
|
||||
|
||||
async person(options?: ChangeOptions): Promise<Changes> {
|
||||
return await this.api.get<Changes>(`/person/change`, options);
|
||||
async person(options?: ChangeOptions): Promise<MediaChanges> {
|
||||
return await this.api.get<MediaChanges>(`/person/change`, options);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<AppendToResponse<MovieDetails, T>>(
|
||||
@@ -55,11 +57,8 @@ export class MoviesEndpoint extends BaseEndpoint {
|
||||
);
|
||||
}
|
||||
|
||||
async changes(id: number, options?: ChangeOptions): Promise<MovieChanges> {
|
||||
return await this.api.get<MovieChanges>(
|
||||
`${BASE_MOVIE}/${id}/changes`,
|
||||
options
|
||||
);
|
||||
async changes(id: number, options?: ChangeOptions): Promise<Changes> {
|
||||
return await this.api.get<Changes>(`${BASE_MOVIE}/${id}/changes`, options);
|
||||
}
|
||||
|
||||
async credits(id: number): Promise<Credits> {
|
||||
|
||||
@@ -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<TvShowChanges> {
|
||||
return await this.api.get<TvShowChanges>(
|
||||
`${BASE_TV}/${id}/changes`,
|
||||
options
|
||||
);
|
||||
async changes(id: number, options?: ChangeOptions): Promise<Changes> {
|
||||
return await this.api.get<Changes>(`${BASE_TV}/${id}/changes`, options);
|
||||
}
|
||||
|
||||
async contentRatings(id: number): Promise<ContentRatings> {
|
||||
|
||||
@@ -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<number>;
|
||||
iso_639_1: string;
|
||||
original_value: Array<number>;
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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[];
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -35,15 +35,21 @@ export type AppendToResponse<
|
||||
(T extends undefined
|
||||
? object
|
||||
: T extends Array<unknown>
|
||||
? ('credits' extends T[number] ? { credits: Omit<Credits, 'id'> } : object) &
|
||||
? ('credits' extends T[number]
|
||||
? { credits: Omit<Credits, 'id'> }
|
||||
: object) &
|
||||
('videos' extends T[number] ? { videos: Omit<Videos, 'id'> } : object) &
|
||||
('images' extends T[number] ? { images: Omit<Images, 'id'> } : object) &
|
||||
('recommendations' extends T[number]
|
||||
? { recommendations: Recommendations }
|
||||
: object) &
|
||||
('reviews' extends T[number] ? { reviews: Omit<Reviews, 'id'> } : object) &
|
||||
('reviews' extends T[number]
|
||||
? { reviews: Omit<Reviews, 'id'> }
|
||||
: object) &
|
||||
('reviews' extends T[number]
|
||||
? { reviews: Omit<Translations, 'id'> }
|
||||
: object) &
|
||||
('keywords' extends T[number] ? { keywords: Omit<Keywords, 'id'> } : object)
|
||||
('keywords' extends T[number]
|
||||
? { keywords: Omit<Keywords, 'id'> }
|
||||
: object)
|
||||
: never);
|
||||
|
||||
@@ -134,24 +134,6 @@ export interface SeasonDetails {
|
||||
season_number: number;
|
||||
}
|
||||
|
||||
export interface TvShowItem {
|
||||
id: string;
|
||||
action: string;
|
||||
time: string;
|
||||
value: Array<number>;
|
||||
iso_639_1: string;
|
||||
original_value: Array<number>;
|
||||
}
|
||||
|
||||
export interface TvShowChange {
|
||||
key: string;
|
||||
items: TvShowItem[];
|
||||
}
|
||||
|
||||
export interface TvShowChanges {
|
||||
changes: TvShowChange[];
|
||||
}
|
||||
|
||||
export interface Network {
|
||||
id: number;
|
||||
logo_path: string;
|
||||
|
||||
Reference in New Issue
Block a user