@tdanks2000/tmdb-wrapper 1.0.3 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/README.md +334 -148
  2. package/dist/endpoints/account.js +2 -13
  3. package/dist/endpoints/certification.js +4 -17
  4. package/dist/endpoints/changes.js +6 -21
  5. package/dist/endpoints/collections.js +10 -26
  6. package/dist/endpoints/companies.js +6 -21
  7. package/dist/endpoints/configuration.js +2 -13
  8. package/dist/endpoints/credits.js +2 -13
  9. package/dist/endpoints/discover.js +4 -17
  10. package/dist/endpoints/find.js +2 -13
  11. package/dist/endpoints/genre.js +4 -17
  12. package/dist/endpoints/index.js +3 -0
  13. package/dist/endpoints/keywords.js +4 -17
  14. package/dist/endpoints/movies.js +48 -98
  15. package/dist/endpoints/networks.js +6 -21
  16. package/dist/endpoints/people.js +26 -57
  17. package/dist/endpoints/review.js +2 -13
  18. package/dist/endpoints/search.js +14 -37
  19. package/dist/endpoints/trending.js +2 -13
  20. package/dist/endpoints/tvEpisodes.js +26 -48
  21. package/dist/endpoints/tvSeasons.js +28 -52
  22. package/dist/endpoints/tvShows.js +58 -115
  23. package/dist/endpoints/watchProviders.js +46 -0
  24. package/dist/index.js +3 -0
  25. package/dist/utils/api.js +12 -23
  26. package/dist/utils/getimagePath.js +39 -8
  27. package/package.json +59 -41
  28. package/.github/workflows/npm-publish.yml +0 -33
  29. package/dist/@types/endpoints/account.d.ts +0 -16
  30. package/dist/@types/endpoints/account.d.ts.map +0 -1
  31. package/dist/@types/endpoints/certification.d.ts +0 -19
  32. package/dist/@types/endpoints/certification.d.ts.map +0 -1
  33. package/dist/@types/endpoints/changes.d.ts +0 -26
  34. package/dist/@types/endpoints/changes.d.ts.map +0 -1
  35. package/dist/@types/endpoints/collection.d.ts +0 -21
  36. package/dist/@types/endpoints/collection.d.ts.map +0 -1
  37. package/dist/@types/endpoints/companies.d.ts +0 -29
  38. package/dist/@types/endpoints/companies.d.ts.map +0 -1
  39. package/dist/@types/endpoints/configuration.d.ts +0 -106
  40. package/dist/@types/endpoints/configuration.d.ts.map +0 -1
  41. package/dist/@types/endpoints/credits.d.ts +0 -135
  42. package/dist/@types/endpoints/credits.d.ts.map +0 -1
  43. package/dist/@types/endpoints/discover.d.ts +0 -68
  44. package/dist/@types/endpoints/discover.d.ts.map +0 -1
  45. package/dist/@types/endpoints/find.d.ts +0 -20
  46. package/dist/@types/endpoints/find.d.ts.map +0 -1
  47. package/dist/@types/endpoints/genre.d.ts +0 -7
  48. package/dist/@types/endpoints/genre.d.ts.map +0 -1
  49. package/dist/@types/endpoints/index.d.ts +0 -23
  50. package/dist/@types/endpoints/index.d.ts.map +0 -1
  51. package/dist/@types/endpoints/keywords.d.ts +0 -21
  52. package/dist/@types/endpoints/keywords.d.ts.map +0 -1
  53. package/dist/@types/endpoints/movies.d.ts +0 -150
  54. package/dist/@types/endpoints/movies.d.ts.map +0 -1
  55. package/dist/@types/endpoints/networks.d.ts +0 -14
  56. package/dist/@types/endpoints/networks.d.ts.map +0 -1
  57. package/dist/@types/endpoints/options.d.ts +0 -73
  58. package/dist/@types/endpoints/options.d.ts.map +0 -1
  59. package/dist/@types/endpoints/people.d.ts +0 -135
  60. package/dist/@types/endpoints/people.d.ts.map +0 -1
  61. package/dist/@types/endpoints/review.d.ts +0 -8
  62. package/dist/@types/endpoints/review.d.ts.map +0 -1
  63. package/dist/@types/endpoints/search.d.ts +0 -32
  64. package/dist/@types/endpoints/search.d.ts.map +0 -1
  65. package/dist/@types/endpoints/trending.d.ts +0 -12
  66. package/dist/@types/endpoints/trending.d.ts.map +0 -1
  67. package/dist/@types/endpoints/tvEpisode.d.ts +0 -65
  68. package/dist/@types/endpoints/tvEpisode.d.ts.map +0 -1
  69. package/dist/@types/endpoints/tvSeasons.d.ts +0 -31
  70. package/dist/@types/endpoints/tvSeasons.d.ts.map +0 -1
  71. package/dist/@types/endpoints/tvShows.d.ts +0 -260
  72. package/dist/@types/endpoints/tvShows.d.ts.map +0 -1
  73. package/dist/@types/endpoints/watchProviders.d.ts +0 -295
  74. package/dist/@types/endpoints/watchProviders.d.ts.map +0 -1
  75. package/dist/@types/index.d.ts +0 -4
  76. package/dist/@types/index.d.ts.map +0 -1
  77. package/dist/@types/models/baseEndpoint.d.ts +0 -7
  78. package/dist/@types/models/baseEndpoint.d.ts.map +0 -1
  79. package/dist/@types/models/index.d.ts +0 -2
  80. package/dist/@types/models/index.d.ts.map +0 -1
  81. package/dist/@types/types.d.ts +0 -174
  82. package/dist/@types/types.d.ts.map +0 -1
  83. package/dist/endpoints/account.d.ts +0 -17
  84. package/dist/endpoints/account.d.ts.map +0 -1
  85. package/dist/endpoints/certification.d.ts +0 -23
  86. package/dist/endpoints/certification.d.ts.map +0 -1
  87. package/dist/endpoints/changes.d.ts +0 -31
  88. package/dist/endpoints/changes.d.ts.map +0 -1
  89. package/dist/endpoints/collections.d.ts +0 -34
  90. package/dist/endpoints/collections.d.ts.map +0 -1
  91. package/dist/endpoints/companies.d.ts +0 -31
  92. package/dist/endpoints/companies.d.ts.map +0 -1
  93. package/dist/endpoints/configuration.d.ts +0 -18
  94. package/dist/endpoints/configuration.d.ts.map +0 -1
  95. package/dist/endpoints/credits.d.ts +0 -19
  96. package/dist/endpoints/credits.d.ts.map +0 -1
  97. package/dist/endpoints/discover.d.ts +0 -24
  98. package/dist/endpoints/discover.d.ts.map +0 -1
  99. package/dist/endpoints/find.d.ts +0 -19
  100. package/dist/endpoints/find.d.ts.map +0 -1
  101. package/dist/endpoints/genre.d.ts +0 -25
  102. package/dist/endpoints/genre.d.ts.map +0 -1
  103. package/dist/endpoints/index.d.ts +0 -19
  104. package/dist/endpoints/index.d.ts.map +0 -1
  105. package/dist/endpoints/keywords.d.ts +0 -25
  106. package/dist/endpoints/keywords.d.ts.map +0 -1
  107. package/dist/endpoints/movies.d.ts +0 -142
  108. package/dist/endpoints/movies.d.ts.map +0 -1
  109. package/dist/endpoints/networks.d.ts +0 -31
  110. package/dist/endpoints/networks.d.ts.map +0 -1
  111. package/dist/endpoints/people.d.ts +0 -84
  112. package/dist/endpoints/people.d.ts.map +0 -1
  113. package/dist/endpoints/review.d.ts +0 -18
  114. package/dist/endpoints/review.d.ts.map +0 -1
  115. package/dist/endpoints/search.d.ts +0 -58
  116. package/dist/endpoints/search.d.ts.map +0 -1
  117. package/dist/endpoints/trending.d.ts +0 -21
  118. package/dist/endpoints/trending.d.ts.map +0 -1
  119. package/dist/endpoints/tvEpisodes.d.ts +0 -61
  120. package/dist/endpoints/tvEpisodes.d.ts.map +0 -1
  121. package/dist/endpoints/tvSeasons.d.ts +0 -70
  122. package/dist/endpoints/tvSeasons.d.ts.map +0 -1
  123. package/dist/endpoints/tvShows.d.ts +0 -164
  124. package/dist/endpoints/tvShows.d.ts.map +0 -1
  125. package/dist/index.d.ts +0 -26
  126. package/dist/index.d.ts.map +0 -1
  127. package/dist/utils/api.d.ts +0 -7
  128. package/dist/utils/api.d.ts.map +0 -1
  129. package/dist/utils/getimagePath.d.ts +0 -12
  130. package/dist/utils/getimagePath.d.ts.map +0 -1
  131. package/dist/utils/index.d.ts +0 -3
  132. package/dist/utils/index.d.ts.map +0 -1
  133. package/src/@types/endpoints/account.ts +0 -17
  134. package/src/@types/endpoints/certification.ts +0 -19
  135. package/src/@types/endpoints/changes.ts +0 -29
  136. package/src/@types/endpoints/collection.ts +0 -23
  137. package/src/@types/endpoints/companies.ts +0 -33
  138. package/src/@types/endpoints/configuration.ts +0 -112
  139. package/src/@types/endpoints/credits.ts +0 -149
  140. package/src/@types/endpoints/discover.ts +0 -87
  141. package/src/@types/endpoints/find.ts +0 -28
  142. package/src/@types/endpoints/genre.ts +0 -3
  143. package/src/@types/endpoints/index.ts +0 -22
  144. package/src/@types/endpoints/keywords.ts +0 -24
  145. package/src/@types/endpoints/movies.ts +0 -169
  146. package/src/@types/endpoints/networks.ts +0 -15
  147. package/src/@types/endpoints/options.ts +0 -189
  148. package/src/@types/endpoints/people.ts +0 -151
  149. package/src/@types/endpoints/review.ts +0 -8
  150. package/src/@types/endpoints/search.ts +0 -39
  151. package/src/@types/endpoints/trending.ts +0 -20
  152. package/src/@types/endpoints/tvEpisode.ts +0 -72
  153. package/src/@types/endpoints/tvSeasons.ts +0 -37
  154. package/src/@types/endpoints/tvShows.ts +0 -284
  155. package/src/@types/endpoints/watchProviders.ts +0 -298
  156. package/src/@types/index.ts +0 -3
  157. package/src/@types/models/baseEndpoint.ts +0 -9
  158. package/src/@types/models/index.ts +0 -1
  159. package/src/@types/types.ts +0 -199
  160. package/src/endpoints/account.ts +0 -22
  161. package/src/endpoints/certification.ts +0 -30
  162. package/src/endpoints/changes.ts +0 -41
  163. package/src/endpoints/collections.ts +0 -57
  164. package/src/endpoints/companies.ts +0 -41
  165. package/src/endpoints/configuration.ts +0 -22
  166. package/src/endpoints/credits.ts +0 -23
  167. package/src/endpoints/discover.ts +0 -40
  168. package/src/endpoints/find.ts +0 -24
  169. package/src/endpoints/genre.ts +0 -32
  170. package/src/endpoints/index.ts +0 -18
  171. package/src/endpoints/keywords.ts +0 -35
  172. package/src/endpoints/movies.ts +0 -244
  173. package/src/endpoints/networks.ts +0 -41
  174. package/src/endpoints/people.ts +0 -147
  175. package/src/endpoints/review.ts +0 -23
  176. package/src/endpoints/search.ts +0 -93
  177. package/src/endpoints/trending.ts +0 -30
  178. package/src/endpoints/tvEpisodes.ts +0 -125
  179. package/src/endpoints/tvSeasons.ts +0 -138
  180. package/src/endpoints/tvShows.ts +0 -286
  181. package/src/index.ts +0 -66
  182. package/src/utils/api.ts +0 -31
  183. package/src/utils/getimagePath.ts +0 -16
  184. package/src/utils/index.ts +0 -2
  185. package/tsconfig.json +0 -101
@@ -1,87 +0,0 @@
1
- import { Movie, TV } from '..';
2
-
3
- export type SortOption =
4
- | 'popularity.asc'
5
- | 'popularity.desc'
6
- | 'release_date.asc'
7
- | 'release_date.desc'
8
- | 'revenue.asc'
9
- | 'revenue.desc'
10
- | 'primary_release_date.asc'
11
- | 'primary_release_date.desc'
12
- | 'original_title.asc'
13
- | 'original_title.desc'
14
- | 'vote_average.asc'
15
- | 'vote_average.desc'
16
- | 'vote_count.asc'
17
- | 'vote_count.desc';
18
-
19
- export interface MovieDiscoverResult {
20
- page: number;
21
- results: Movie[];
22
- total_results: number;
23
- total_pages: number;
24
- }
25
-
26
- export interface TvShowDiscoverResult {
27
- page: number;
28
- results: TV[];
29
- total_results: number;
30
- total_pages: number;
31
- }
32
-
33
- export interface DiscoverQueryOptions {
34
- language?: string;
35
- sort_by?: SortOption;
36
- page?: number;
37
- 'vote_average.gte'?: number;
38
- 'vote_count.gte'?: number;
39
- 'vote_count.lte'?: number;
40
- 'vote_average.lte'?: number;
41
- with_watch_providers?: string;
42
- watch_region?: string;
43
- without_companies?: string;
44
- with_watch_monetization_types?: 'flatrate' | 'free' | 'ads' | 'rent' | 'buy';
45
- 'with_runtime.gte'?: number;
46
- 'with_runtime.lte'?: number;
47
- with_genres?: string;
48
- without_genres?: string;
49
- with_original_language?: string;
50
- without_keywords?: string;
51
- with_keywords?: string;
52
- with_companies?: string;
53
- }
54
-
55
- export interface MovieQueryOptions extends DiscoverQueryOptions {
56
- region?: string;
57
- certification_country?: string;
58
- certification?: string;
59
- 'certification.lte'?: string;
60
- 'certification.gte'?: string;
61
- include_adult?: boolean;
62
- include_video?: boolean;
63
- primary_release_year?: number;
64
- 'primary_release_date.gte'?: string;
65
- 'primary_release_date.lte'?: string;
66
- 'release_date.gte'?: string;
67
- 'release_date.lte'?: string;
68
- with_release_type?: string;
69
- year?: number;
70
- with_cast?: string;
71
- with_crew?: string;
72
- with_people?: string;
73
- }
74
-
75
- export interface TvShowQueryOptions extends DiscoverQueryOptions {
76
- 'air_date.gte'?: string;
77
- 'air_date.lte'?: string;
78
- 'first_air_date.gte'?: string;
79
- 'first_air_date.lte'?: string;
80
- first_air_date_year?: number;
81
- timezone?: string;
82
- with_networks?: string;
83
- include_null_first_air_dates?: boolean;
84
- screened_theatrically?: boolean;
85
- with_status?: string;
86
- with_type?: string;
87
- }
@@ -1,28 +0,0 @@
1
- import { Episode, MediaType, Movie, Person, Season, TV } from '..';
2
-
3
- export type ExternalSource =
4
- | 'imdb_id'
5
- | 'freebase_mid'
6
- | 'freebase_id'
7
- | 'tvdb_id'
8
- | 'tvrage_id'
9
- | 'facebook_id'
10
- | 'twitter_id'
11
- | 'instagram_id';
12
-
13
- export interface ExternalIdOptions {
14
- external_source: ExternalSource;
15
- language?: string;
16
- }
17
-
18
- type MediaTagged<T> = T & {
19
- media_type: MediaType;
20
- };
21
-
22
- export interface FindResult {
23
- movie_results: MediaTagged<Movie>[];
24
- person_results: MediaTagged<Person>[];
25
- tv_results: MediaTagged<TV>[];
26
- tv_episode_results: MediaTagged<Episode>[];
27
- tv_season_results: MediaTagged<Season & { show_id: string }>[];
28
- }
@@ -1,3 +0,0 @@
1
- export interface Genres {
2
- genres: Array<{ id: number; name: string }>;
3
- }
@@ -1,22 +0,0 @@
1
- export * from './account';
2
- export * from './certification';
3
- export * from './changes';
4
- export * from './collection';
5
- export * from './companies';
6
- export * from './configuration';
7
- export * from './credits';
8
- export * from './discover';
9
- export * from './find';
10
- export * from './genre';
11
- export * from './keywords';
12
- export * from './movies';
13
- export * from './networks';
14
- export * from './options';
15
- export * from './people';
16
- export * from './review';
17
- export * from './search';
18
- export * from './trending';
19
- export * from './tvEpisode';
20
- export * from './tvSeasons';
21
- export * from './tvShows';
22
- export * from './watchProviders';
@@ -1,24 +0,0 @@
1
- import { Movie } from '..';
2
- import { PageOption } from './options';
3
-
4
- export interface KeywordsOptions extends PageOption {
5
- include_adult?: boolean;
6
- language?: string;
7
- }
8
-
9
- export interface BelongingMovies {
10
- page: number;
11
- results: Movie[];
12
- total_results: number;
13
- total_pages: number;
14
- }
15
-
16
- export interface Keyword {
17
- id: number;
18
- name: string;
19
- }
20
-
21
- export interface Keywords {
22
- id: number;
23
- keywords: Keyword[];
24
- }
@@ -1,169 +0,0 @@
1
- import { Genre, LanguageOption, Movie, ProductionCompany, ProductionCountry, SpokenLanguage } from '..';
2
-
3
- export interface BelongsToCollection {
4
- id: number;
5
- name: string;
6
- poster_path: string;
7
- backdrop_path: string;
8
- }
9
-
10
- export interface MovieDetails {
11
- adult: boolean;
12
- backdrop_path: string;
13
- belongs_to_collection?: BelongsToCollection;
14
- budget: number;
15
- genres: Genre[];
16
- homepage: string;
17
- id: number;
18
- imdb_id: string;
19
- original_language: string;
20
- original_title: string;
21
- overview: string;
22
- popularity: number;
23
- poster_path?: string;
24
- production_companies: ProductionCompany[];
25
- production_countries: ProductionCountry[];
26
- release_date: string;
27
- revenue: number;
28
- runtime: number;
29
- spoken_languages: SpokenLanguage[];
30
- status: string;
31
- tagline: string;
32
- title: string;
33
- video: boolean;
34
- vote_average: number;
35
- vote_count: number;
36
- }
37
-
38
- export enum ReleaseDateType {
39
- 'Premiere' = 1,
40
- 'Theatrical (limited)',
41
- 'Theatrical',
42
- 'Digital',
43
- 'Physical',
44
- 'TV',
45
- }
46
-
47
- export interface ReleaseDate {
48
- certification: string;
49
- iso_639_1: string;
50
- release_date: Date;
51
- type: ReleaseDateType;
52
- note: string;
53
- }
54
-
55
- export interface ReleaseDateResult {
56
- iso_3166_1: string;
57
- release_dates: ReleaseDate[];
58
- }
59
-
60
- export interface ReleaseDates {
61
- id: number;
62
- results: ReleaseDateResult[];
63
- }
64
-
65
- export interface SimilarMovies {
66
- page: number;
67
- results: Movie[];
68
- total_pages: number;
69
- total_results: number;
70
- }
71
-
72
- export interface MovieList {
73
- description: string;
74
- favorite_count: number;
75
- id: number;
76
- item_count: number;
77
- iso_639_1: string;
78
- list_type: string;
79
- name: string;
80
- poster_path: string;
81
- }
82
-
83
- export interface MovieLists {
84
- id: number;
85
- page: number;
86
- results: MovieList[];
87
- total_pages: number;
88
- total_results: number;
89
- }
90
-
91
- export interface LatestMovie {
92
- adult: boolean;
93
- backdrop_path?: string;
94
- belongs_to_collection?: BelongsToCollection;
95
- budget: number;
96
- genres: Genre[];
97
- homepage: string;
98
- id: number;
99
- imdb_id: string;
100
- original_language: string;
101
- original_title: string;
102
- overview: string;
103
- popularity: number;
104
- poster_path: string;
105
- production_companies: ProductionCompany[];
106
- production_countries: ProductionCountry[];
107
- release_date: string;
108
- revenue: number;
109
- runtime: number;
110
- spoken_languages: SpokenLanguage[];
111
- status: string;
112
- tagline: string;
113
- title: string;
114
- video: boolean;
115
- vote_average: number;
116
- vote_count: number;
117
- }
118
-
119
- export interface Dates {
120
- maximum: string;
121
- minimum: string;
122
- }
123
-
124
- export interface MoviesPlayingNow {
125
- page: number;
126
- results: Movie[];
127
- dates: Dates;
128
- total_pages: number;
129
- total_results: number;
130
- }
131
-
132
- export interface PopularMovies {
133
- page: number;
134
- results: Movie[];
135
- total_results: number;
136
- total_pages: number;
137
- }
138
-
139
- export interface TopRatedMovies {
140
- page: number;
141
- results: Movie[];
142
- total_results: number;
143
- total_pages: number;
144
- }
145
-
146
- export interface UpcomingMovies {
147
- page: number;
148
- results: Movie[];
149
- total_results: number;
150
- total_pages: number;
151
- }
152
-
153
- export type MovieChangeValue =
154
- | string
155
- | {
156
- person_id: number;
157
- character: string;
158
- order: number;
159
- cast_id: number;
160
- credit_id: string;
161
- }
162
- | unknown;
163
-
164
- export interface MoviesImageSearchOptions extends LanguageOption {
165
- /**
166
- * a list of ISO-639-1 values to query
167
- */
168
- include_image_language?: string[];
169
- }
@@ -1,15 +0,0 @@
1
- import { Image } from '..';
2
-
3
- export interface NetworkDetails {
4
- headquarters: string;
5
- homepage: string;
6
- id: number;
7
- logo_path: string;
8
- name: string;
9
- origin_country: string;
10
- }
11
-
12
- export interface NetworkImages {
13
- id: number;
14
- logos: Image[];
15
- }
@@ -1,189 +0,0 @@
1
- import {
2
- AlternativeTitles,
3
- Changes,
4
- ContentRatings,
5
- Credits,
6
- EpisodeGroups,
7
- ExternalIds,
8
- Images,
9
- Keywords,
10
- MovieChangeValue,
11
- MovieLists,
12
- PeopleImages,
13
- PersonChangeValue,
14
- PersonCombinedCredits,
15
- PersonMovieCredit,
16
- PersonTranslations,
17
- PersonTvShowCredit,
18
- Recommendations,
19
- ReleaseDates,
20
- Reviews,
21
- ScreenedTheatrically,
22
- SimilarMovies,
23
- Similartv,
24
- TaggedImages,
25
- Translations,
26
- TvEpisodeChangeValue,
27
- TvEpisodeCredit,
28
- TvEpisodeTranslations,
29
- TvSeasonChangeValue,
30
- TvShowChangeValue,
31
- Videos,
32
- WatchProviders,
33
- } from '..';
34
-
35
- export interface LanguageOption {
36
- language?: string;
37
- }
38
-
39
- export interface RegionOption {
40
- region?: string;
41
- }
42
-
43
- export interface TimezoneOption {
44
- timezone?: string;
45
- }
46
-
47
- export interface PageOption {
48
- page?: number;
49
- }
50
-
51
- export interface ChangeOption extends PageOption {
52
- start_date?: Date;
53
- end_date?: Date;
54
- }
55
-
56
- export type AppendToResponseMovieKey =
57
- | 'images'
58
- | 'videos'
59
- | 'credits'
60
- | 'recommendations'
61
- | 'reviews'
62
- | 'changes'
63
- | 'similar'
64
- | 'lists'
65
- | 'release_dates'
66
- | 'alternative_titles'
67
- | 'external_ids'
68
- | 'translations'
69
- | 'watch/providers'
70
- | 'keywords';
71
-
72
- export type AppendToResponseTvKey =
73
- | 'content_ratings'
74
- | 'images'
75
- | 'videos'
76
- | 'credits'
77
- | 'recommendations'
78
- | 'reviews'
79
- | 'changes'
80
- | 'similar'
81
- | 'alternative_titles'
82
- | 'external_ids'
83
- | 'translations'
84
- | 'watch/providers'
85
- | 'aggregate_credits'
86
- | 'episode_groups'
87
- | 'screened_theatrically'
88
- | 'keywords';
89
-
90
- export type AppendToResponsePersonKey =
91
- | 'images'
92
- | 'changes'
93
- | 'movie_credits'
94
- | 'tv_credits'
95
- | 'combined_credits'
96
- | 'external_ids'
97
- | 'tagged_images'
98
- | 'translations';
99
-
100
- export type AppendToResponseTvEpisodeKey = 'images' | 'credits' | 'external_ids' | 'videos' | 'translations';
101
-
102
- export type AppendToResponseTvSeasonKey =
103
- | 'images'
104
- | 'credits'
105
- | 'external_ids'
106
- | 'videos'
107
- | 'aggregate_credits'
108
- | 'translations';
109
-
110
- type AppendToResponseAllKeys =
111
- | AppendToResponseTvKey
112
- | AppendToResponseMovieKey
113
- | AppendToResponseTvEpisodeKey
114
- | AppendToResponseTvSeasonKey
115
- | AppendToResponsePersonKey;
116
-
117
- export type AppendToResponseMediaType = 'movie' | 'tvShow' | 'person' | 'tvSeason' | 'tvEpisode';
118
-
119
- export type AppendToResponse<
120
- K,
121
- T extends AppendToResponseAllKeys[] | undefined,
122
- Media extends AppendToResponseMediaType,
123
- > = K &
124
- (T extends undefined
125
- ? object
126
- : T extends Array<unknown>
127
- ? ('credits' extends T[number]
128
- ? {
129
- credits: Media extends 'tvEpisode' ? TvEpisodeCredit : Omit<Credits, 'id'>;
130
- }
131
- : object) &
132
- ('videos' extends T[number] ? { videos: Omit<Videos, 'id'> } : object) &
133
- ('images' extends T[number]
134
- ? {
135
- images: Omit<Media extends 'person' ? PeopleImages : Images, 'id'>;
136
- }
137
- : object) &
138
- ('recommendations' extends T[number] ? { recommendations: Recommendations } : object) &
139
- ('reviews' extends T[number] ? { reviews: Omit<Reviews, 'id'> } : object) &
140
- ('reviews' extends T[number] ? { reviews: Omit<Translations, 'id'> } : object) &
141
- ('changes' extends T[number]
142
- ? {
143
- changes: Changes<
144
- Media extends 'person'
145
- ? PersonChangeValue
146
- : Media extends 'movie'
147
- ? MovieChangeValue
148
- : Media extends 'tvShow'
149
- ? TvShowChangeValue
150
- : Media extends 'tvSeason'
151
- ? TvSeasonChangeValue
152
- : TvEpisodeChangeValue
153
- >;
154
- }
155
- : object) &
156
- ('keywords' extends T[number] ? { keywords: Omit<Keywords, 'id'> } : object) &
157
- ('lists' extends T[number] ? { lists: Omit<MovieLists, 'id'> } : object) &
158
- ('release_dates' extends T[number] ? { release_dates: Omit<ReleaseDates, 'id'> } : object) &
159
- ('alternative_titles' extends T[number] ? { alternative_titles: Omit<AlternativeTitles, 'id'> } : object) &
160
- ('external_ids' extends T[number] ? { external_ids: Omit<ExternalIds, 'id'> } : object) &
161
- ('translations' extends T[number]
162
- ? {
163
- translations: Omit<
164
- Media extends 'person'
165
- ? PersonTranslations
166
- : Media extends 'tvEpisode'
167
- ? TvEpisodeTranslations
168
- : Translations,
169
- 'id'
170
- >;
171
- }
172
- : object) &
173
- ('watch/providers' extends T[number] ? { 'watch/providers': Omit<WatchProviders, 'id'> } : object) &
174
- ('aggregate_credits' extends T[number] ? { aggregate_credits: Omit<Credits, 'id'> } : object) &
175
- ('episode_groups' extends T[number] ? { episode_groups: Omit<EpisodeGroups, 'id'> } : object) &
176
- ('screened_theatrically' extends T[number]
177
- ? { screened_theatrically: Omit<ScreenedTheatrically, 'id'> }
178
- : object) &
179
- ('similar' extends T[number]
180
- ? {
181
- similar: Media extends 'movie' ? SimilarMovies : Media extends 'tvShow' ? Similartv : unknown;
182
- }
183
- : object) &
184
- ('content_ratings' extends T[number] ? { content_ratings: Omit<ContentRatings, 'id'> } : object) &
185
- ('movie_credits' extends T[number] ? { movie_credits: Omit<PersonMovieCredit, 'id'> } : object) &
186
- ('tv_credits' extends T[number] ? { tv_credits: Omit<PersonTvShowCredit, 'id'> } : object) &
187
- ('combined_credits' extends T[number] ? { combined_credits: Omit<PersonCombinedCredits, 'id'> } : object) &
188
- ('tagged_images' extends T[number] ? { tagged_images: TaggedImages } : object)
189
- : never);
@@ -1,151 +0,0 @@
1
- import { Image, Movie, Person, TV } from '..';
2
-
3
- interface Cast {
4
- character: string;
5
- credit_id: string;
6
- vote_count: number;
7
- id: number;
8
- backdrop_path: string;
9
- poster_path: string;
10
- original_language: string;
11
- vote_average: number;
12
- genre_ids: number[];
13
- popularity: number;
14
- overview: string;
15
- }
16
-
17
- interface Crew {
18
- id: number;
19
- department: string;
20
- original_language: string;
21
- credit_id: string;
22
- overview: string;
23
- vote_count: number;
24
- poster_path: string;
25
- backdrop_path: string;
26
- popularity: number;
27
- genre_ids: number[];
28
- job: string;
29
- vote_average: number;
30
- }
31
-
32
- export interface PersonMovieCast extends Cast {
33
- release_date: string;
34
- video: boolean;
35
- adult: boolean;
36
- title: string;
37
- original_title: string;
38
- }
39
-
40
- export interface PersonMovieCrew extends Crew {
41
- original_title: string;
42
- video: boolean;
43
- title: string;
44
- adult: boolean;
45
- release_date: string;
46
- }
47
-
48
- export interface PersonTvShowCrew extends Crew {
49
- episode_count: number;
50
- origin_country: string[];
51
- original_name: string;
52
- name: string;
53
- first_air_date: string;
54
- }
55
-
56
- export interface PersonTvShowCast extends Cast {
57
- original_name: string;
58
- name: string;
59
- episode_count: number;
60
- first_air_date: string;
61
- origin_country: string[];
62
- }
63
-
64
- export interface PersonMovieCredit {
65
- cast: PersonMovieCast[];
66
- crew: PersonMovieCrew[];
67
- id: number;
68
- }
69
-
70
- export interface PersonTvShowCredit {
71
- cast: PersonTvShowCast[];
72
- crew: PersonTvShowCrew[];
73
- id: number;
74
- }
75
-
76
- export interface PersonCombinedCredits {
77
- cast: (PersonMovieCast & PersonTvShowCast)[];
78
- crew: (PersonMovieCrew & PersonTvShowCrew)[];
79
- id: number;
80
- }
81
-
82
- export interface PersonDetails {
83
- birthday: string;
84
- known_for_department: string;
85
- deathday: string;
86
- id: number;
87
- name: string;
88
- also_known_as: string[];
89
- gender: number;
90
- biography: string;
91
- popularity: number;
92
- place_of_birth: string;
93
- profile_path: string;
94
- adult: boolean;
95
- imdb_id: string;
96
- homepage: string;
97
- }
98
-
99
- export type PersonChangeValue =
100
- | string
101
- | {
102
- profile: {
103
- file_path: string;
104
- };
105
- };
106
-
107
- export interface PopularPersons {
108
- page: number;
109
- results: Person[];
110
- total_results: number;
111
- total_pages: number;
112
- }
113
-
114
- export interface PeopleImages {
115
- id: number;
116
- profiles: Image[];
117
- }
118
-
119
- export interface TaggedImage {
120
- aspect_ratio: number;
121
- file_path: string;
122
- height: number;
123
- id: string;
124
- iso_639_1: string;
125
- vote_average: number;
126
- vote_count: number;
127
- width: number;
128
- image_type: string;
129
- media_type: string;
130
- media: Movie | TV;
131
- }
132
-
133
- export interface TaggedImages {
134
- page: number;
135
- results: TaggedImage[];
136
- total_results: number;
137
- total_pages: number;
138
- }
139
-
140
- export interface PersonTranslations {
141
- id: number;
142
- translations: {
143
- iso_3166_1: string;
144
- iso_639_1: string;
145
- name: string;
146
- english_name: string;
147
- data: {
148
- biography: string;
149
- };
150
- };
151
- }
@@ -1,8 +0,0 @@
1
- import { Review } from '..';
2
-
3
- export interface ReviewDetails extends Review {
4
- iso_639_1: string;
5
- media_id: number;
6
- media_title: number;
7
- media_type: number;
8
- }