@tdanks2000/tmdb-wrapper 1.0.0

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 (207) hide show
  1. package/README.md +137 -0
  2. package/dist/@types/endpoints/account.d.ts +16 -0
  3. package/dist/@types/endpoints/account.d.ts.map +1 -0
  4. package/dist/@types/endpoints/account.js +2 -0
  5. package/dist/@types/endpoints/certification.d.ts +19 -0
  6. package/dist/@types/endpoints/certification.d.ts.map +1 -0
  7. package/dist/@types/endpoints/certification.js +2 -0
  8. package/dist/@types/endpoints/changes.d.ts +26 -0
  9. package/dist/@types/endpoints/changes.d.ts.map +1 -0
  10. package/dist/@types/endpoints/changes.js +2 -0
  11. package/dist/@types/endpoints/collection.d.ts +21 -0
  12. package/dist/@types/endpoints/collection.d.ts.map +1 -0
  13. package/dist/@types/endpoints/collection.js +2 -0
  14. package/dist/@types/endpoints/companies.d.ts +29 -0
  15. package/dist/@types/endpoints/companies.d.ts.map +1 -0
  16. package/dist/@types/endpoints/companies.js +2 -0
  17. package/dist/@types/endpoints/configuration.d.ts +105 -0
  18. package/dist/@types/endpoints/configuration.d.ts.map +1 -0
  19. package/dist/@types/endpoints/configuration.js +2 -0
  20. package/dist/@types/endpoints/credits.d.ts +135 -0
  21. package/dist/@types/endpoints/credits.d.ts.map +1 -0
  22. package/dist/@types/endpoints/credits.js +2 -0
  23. package/dist/@types/endpoints/discover.d.ts +15 -0
  24. package/dist/@types/endpoints/discover.d.ts.map +1 -0
  25. package/dist/@types/endpoints/discover.js +2 -0
  26. package/dist/@types/endpoints/find.d.ts +20 -0
  27. package/dist/@types/endpoints/find.d.ts.map +1 -0
  28. package/dist/@types/endpoints/find.js +2 -0
  29. package/dist/@types/endpoints/index.d.ts +22 -0
  30. package/dist/@types/endpoints/index.d.ts.map +1 -0
  31. package/dist/@types/endpoints/index.js +37 -0
  32. package/dist/@types/endpoints/keywords.d.ts +21 -0
  33. package/dist/@types/endpoints/keywords.d.ts.map +1 -0
  34. package/dist/@types/endpoints/keywords.js +2 -0
  35. package/dist/@types/endpoints/movies.d.ts +144 -0
  36. package/dist/@types/endpoints/movies.d.ts.map +1 -0
  37. package/dist/@types/endpoints/movies.js +12 -0
  38. package/dist/@types/endpoints/networks.d.ts +14 -0
  39. package/dist/@types/endpoints/networks.d.ts.map +1 -0
  40. package/dist/@types/endpoints/networks.js +2 -0
  41. package/dist/@types/endpoints/options.d.ts +73 -0
  42. package/dist/@types/endpoints/options.d.ts.map +1 -0
  43. package/dist/@types/endpoints/options.js +2 -0
  44. package/dist/@types/endpoints/people.d.ts +135 -0
  45. package/dist/@types/endpoints/people.d.ts.map +1 -0
  46. package/dist/@types/endpoints/people.js +2 -0
  47. package/dist/@types/endpoints/review.d.ts +8 -0
  48. package/dist/@types/endpoints/review.d.ts.map +1 -0
  49. package/dist/@types/endpoints/review.js +2 -0
  50. package/dist/@types/endpoints/search.d.ts +9 -0
  51. package/dist/@types/endpoints/search.d.ts.map +1 -0
  52. package/dist/@types/endpoints/search.js +2 -0
  53. package/dist/@types/endpoints/trending.d.ts +12 -0
  54. package/dist/@types/endpoints/trending.d.ts.map +1 -0
  55. package/dist/@types/endpoints/trending.js +2 -0
  56. package/dist/@types/endpoints/tvEpisode.d.ts +53 -0
  57. package/dist/@types/endpoints/tvEpisode.d.ts.map +1 -0
  58. package/dist/@types/endpoints/tvEpisode.js +2 -0
  59. package/dist/@types/endpoints/tvSeasons.d.ts +19 -0
  60. package/dist/@types/endpoints/tvSeasons.d.ts.map +1 -0
  61. package/dist/@types/endpoints/tvSeasons.js +2 -0
  62. package/dist/@types/endpoints/tvShows.d.ts +260 -0
  63. package/dist/@types/endpoints/tvShows.d.ts.map +1 -0
  64. package/dist/@types/endpoints/tvShows.js +2 -0
  65. package/dist/@types/endpoints/watchProviders.d.ts +295 -0
  66. package/dist/@types/endpoints/watchProviders.d.ts.map +1 -0
  67. package/dist/@types/endpoints/watchProviders.js +2 -0
  68. package/dist/@types/index.d.ts +4 -0
  69. package/dist/@types/index.d.ts.map +1 -0
  70. package/dist/@types/index.js +19 -0
  71. package/dist/@types/models/baseEndpoint.d.ts +7 -0
  72. package/dist/@types/models/baseEndpoint.d.ts.map +1 -0
  73. package/dist/@types/models/baseEndpoint.js +11 -0
  74. package/dist/@types/models/index.d.ts +2 -0
  75. package/dist/@types/models/index.d.ts.map +1 -0
  76. package/dist/@types/models/index.js +17 -0
  77. package/dist/@types/types.d.ts +174 -0
  78. package/dist/@types/types.d.ts.map +1 -0
  79. package/dist/@types/types.js +2 -0
  80. package/dist/endpoints/account.d.ts +6 -0
  81. package/dist/endpoints/account.d.ts.map +1 -0
  82. package/dist/endpoints/account.js +24 -0
  83. package/dist/endpoints/certification.d.ts +8 -0
  84. package/dist/endpoints/certification.d.ts.map +1 -0
  85. package/dist/endpoints/certification.js +30 -0
  86. package/dist/endpoints/changes.d.ts +9 -0
  87. package/dist/endpoints/changes.d.ts.map +1 -0
  88. package/dist/endpoints/changes.js +35 -0
  89. package/dist/endpoints/collections.d.ts +9 -0
  90. package/dist/endpoints/collections.d.ts.map +1 -0
  91. package/dist/endpoints/collections.js +41 -0
  92. package/dist/endpoints/companies.d.ts +9 -0
  93. package/dist/endpoints/companies.d.ts.map +1 -0
  94. package/dist/endpoints/companies.js +35 -0
  95. package/dist/endpoints/configuration.d.ts +7 -0
  96. package/dist/endpoints/configuration.d.ts.map +1 -0
  97. package/dist/endpoints/configuration.js +25 -0
  98. package/dist/endpoints/credits.d.ts +7 -0
  99. package/dist/endpoints/credits.d.ts.map +1 -0
  100. package/dist/endpoints/credits.js +25 -0
  101. package/dist/endpoints/discover.d.ts +61 -0
  102. package/dist/endpoints/discover.d.ts.map +1 -0
  103. package/dist/endpoints/discover.js +30 -0
  104. package/dist/endpoints/find.d.ts +6 -0
  105. package/dist/endpoints/find.d.ts.map +1 -0
  106. package/dist/endpoints/find.js +24 -0
  107. package/dist/endpoints/genre.d.ts +14 -0
  108. package/dist/endpoints/genre.d.ts.map +1 -0
  109. package/dist/endpoints/genre.js +30 -0
  110. package/dist/endpoints/index.d.ts +19 -0
  111. package/dist/endpoints/index.d.ts.map +1 -0
  112. package/dist/endpoints/index.js +34 -0
  113. package/dist/endpoints/keywords.d.ts +7 -0
  114. package/dist/endpoints/keywords.d.ts.map +1 -0
  115. package/dist/endpoints/keywords.js +30 -0
  116. package/dist/endpoints/movies.d.ts +36 -0
  117. package/dist/endpoints/movies.d.ts.map +1 -0
  118. package/dist/endpoints/movies.js +134 -0
  119. package/dist/endpoints/networks.d.ts +9 -0
  120. package/dist/endpoints/networks.d.ts.map +1 -0
  121. package/dist/endpoints/networks.js +35 -0
  122. package/dist/endpoints/people.d.ts +16 -0
  123. package/dist/endpoints/people.d.ts.map +1 -0
  124. package/dist/endpoints/people.js +79 -0
  125. package/dist/endpoints/review.d.ts +6 -0
  126. package/dist/endpoints/review.d.ts.map +1 -0
  127. package/dist/endpoints/review.js +24 -0
  128. package/dist/endpoints/search.d.ts +39 -0
  129. package/dist/endpoints/search.d.ts.map +1 -0
  130. package/dist/endpoints/search.js +56 -0
  131. package/dist/endpoints/trending.d.ts +6 -0
  132. package/dist/endpoints/trending.d.ts.map +1 -0
  133. package/dist/endpoints/trending.js +24 -0
  134. package/dist/endpoints/tvEpisodes.d.ts +24 -0
  135. package/dist/endpoints/tvEpisodes.d.ts.map +1 -0
  136. package/dist/endpoints/tvEpisodes.js +68 -0
  137. package/dist/endpoints/tvSeasons.d.ts +25 -0
  138. package/dist/endpoints/tvSeasons.d.ts.map +1 -0
  139. package/dist/endpoints/tvSeasons.js +73 -0
  140. package/dist/endpoints/tvShows.d.ts +33 -0
  141. package/dist/endpoints/tvShows.d.ts.map +1 -0
  142. package/dist/endpoints/tvShows.js +154 -0
  143. package/dist/index.d.ts +26 -0
  144. package/dist/index.d.ts.map +1 -0
  145. package/dist/index.js +43 -0
  146. package/dist/utils/api.d.ts +7 -0
  147. package/dist/utils/api.d.ts.map +1 -0
  148. package/dist/utils/api.js +39 -0
  149. package/dist/utils/getimagePath.d.ts +12 -0
  150. package/dist/utils/getimagePath.d.ts.map +1 -0
  151. package/dist/utils/getimagePath.js +19 -0
  152. package/dist/utils/index.d.ts +3 -0
  153. package/dist/utils/index.d.ts.map +1 -0
  154. package/dist/utils/index.js +18 -0
  155. package/package.json +40 -0
  156. package/src/@types/endpoints/account.ts +17 -0
  157. package/src/@types/endpoints/certification.ts +19 -0
  158. package/src/@types/endpoints/changes.ts +29 -0
  159. package/src/@types/endpoints/collection.ts +23 -0
  160. package/src/@types/endpoints/companies.ts +33 -0
  161. package/src/@types/endpoints/configuration.ts +111 -0
  162. package/src/@types/endpoints/credits.ts +149 -0
  163. package/src/@types/endpoints/discover.ts +31 -0
  164. package/src/@types/endpoints/find.ts +28 -0
  165. package/src/@types/endpoints/index.ts +21 -0
  166. package/src/@types/endpoints/keywords.ts +24 -0
  167. package/src/@types/endpoints/movies.ts +162 -0
  168. package/src/@types/endpoints/networks.ts +15 -0
  169. package/src/@types/endpoints/options.ts +189 -0
  170. package/src/@types/endpoints/people.ts +151 -0
  171. package/src/@types/endpoints/review.ts +8 -0
  172. package/src/@types/endpoints/search.ts +10 -0
  173. package/src/@types/endpoints/trending.ts +20 -0
  174. package/src/@types/endpoints/tvEpisode.ts +58 -0
  175. package/src/@types/endpoints/tvSeasons.ts +23 -0
  176. package/src/@types/endpoints/tvShows.ts +284 -0
  177. package/src/@types/endpoints/watchProviders.ts +298 -0
  178. package/src/@types/index.ts +3 -0
  179. package/src/@types/models/baseEndpoint.ts +9 -0
  180. package/src/@types/models/index.ts +1 -0
  181. package/src/@types/types.ts +199 -0
  182. package/src/endpoints/account.ts +11 -0
  183. package/src/endpoints/certification.ts +15 -0
  184. package/src/endpoints/changes.ts +19 -0
  185. package/src/endpoints/collections.ts +32 -0
  186. package/src/endpoints/companies.ts +19 -0
  187. package/src/endpoints/configuration.ts +11 -0
  188. package/src/endpoints/credits.ts +11 -0
  189. package/src/endpoints/discover.ts +73 -0
  190. package/src/endpoints/find.ts +11 -0
  191. package/src/endpoints/genre.ts +19 -0
  192. package/src/endpoints/index.ts +18 -0
  193. package/src/endpoints/keywords.ts +17 -0
  194. package/src/endpoints/movies.ts +138 -0
  195. package/src/endpoints/networks.ts +19 -0
  196. package/src/endpoints/people.ts +79 -0
  197. package/src/endpoints/review.ts +11 -0
  198. package/src/endpoints/search.ts +78 -0
  199. package/src/endpoints/trending.ts +15 -0
  200. package/src/endpoints/tvEpisodes.ts +88 -0
  201. package/src/endpoints/tvSeasons.ts +93 -0
  202. package/src/endpoints/tvShows.ts +151 -0
  203. package/src/index.ts +66 -0
  204. package/src/utils/api.ts +31 -0
  205. package/src/utils/getimagePath.ts +16 -0
  206. package/src/utils/index.ts +2 -0
  207. package/tsconfig.json +108 -0
@@ -0,0 +1,189 @@
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);
@@ -0,0 +1,151 @@
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
+ }
@@ -0,0 +1,8 @@
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
+ }
@@ -0,0 +1,10 @@
1
+ import { MovieWithMediaType, PersonWithMediaType, TVWithMediaType } from '..';
2
+
3
+ export interface Search<T> {
4
+ page: number;
5
+ results: T[];
6
+ total_pages: number;
7
+ total_results: number;
8
+ }
9
+
10
+ export type MultiSearchResult = MovieWithMediaType | TVWithMediaType | PersonWithMediaType;
@@ -0,0 +1,20 @@
1
+ import { MediaType, Movie, MovieWithMediaType, Person, PersonWithMediaType, TV, TVWithMediaType } from '..';
2
+
3
+ export type TimeWindow = 'day' | 'week';
4
+
5
+ export type TrendingMediaType = MediaType | 'all';
6
+
7
+ type TrendingResult<T extends TrendingMediaType> = T extends 'tv'
8
+ ? TV
9
+ : T extends 'movie'
10
+ ? Movie
11
+ : T extends 'person'
12
+ ? Person
13
+ : TVWithMediaType | MovieWithMediaType | PersonWithMediaType;
14
+
15
+ export interface TrendingResults<T extends TrendingMediaType> {
16
+ page: number;
17
+ results: TrendingResult<T>[];
18
+ total_pages: number;
19
+ total_results: number;
20
+ }
@@ -0,0 +1,58 @@
1
+ import { Credits, Crew } from '..';
2
+
3
+ export interface EpisodeSelection {
4
+ tvShowID: number;
5
+ seasonNumber: number;
6
+ episodeNumber: number;
7
+ }
8
+
9
+ export interface Episode {
10
+ air_date: string;
11
+ episode_number: number;
12
+ crew: Crew[];
13
+ guest_stars: GuestStar[];
14
+ id: number;
15
+ name: string;
16
+ overview: string;
17
+ production_code: string;
18
+ season_number: number;
19
+ still_path: string;
20
+ vote_average: number;
21
+ vote_count: number;
22
+ runtime: number;
23
+ show_id: number;
24
+ }
25
+
26
+ export interface GuestStar {
27
+ credit_id: string;
28
+ order: number;
29
+ character: string;
30
+ adult: boolean;
31
+ gender: number | null;
32
+ id: number;
33
+ known_for_department: string;
34
+ name: string;
35
+ original_name: string;
36
+ popularity: number;
37
+ profile_path: string | null;
38
+ }
39
+
40
+ export interface TvEpisodeCredit extends Credits {
41
+ guest_stars: GuestStar[];
42
+ }
43
+
44
+ export interface TvEpisodeTranslations {
45
+ id: number;
46
+ translations: {
47
+ iso_3166_1: string;
48
+ iso_639_1: string;
49
+ name: string;
50
+ english_name: string;
51
+ data: {
52
+ name: string;
53
+ overview: string;
54
+ };
55
+ };
56
+ }
57
+
58
+ export type TvEpisodeChangeValue = string | unknown;
@@ -0,0 +1,23 @@
1
+ import { Episode } from '..';
2
+
3
+ export interface SeasonSelection {
4
+ tvShowID: number;
5
+ seasonNumber: number;
6
+ }
7
+
8
+ export interface SeasonDetails {
9
+ air_date: string;
10
+ episodes: Episode[];
11
+ name: string;
12
+ overview: string;
13
+ id: number;
14
+ poster_path: string | null;
15
+ season_number: number;
16
+ }
17
+
18
+ export type TvSeasonChangeValue =
19
+ | string
20
+ | {
21
+ episode_id: number;
22
+ episode_number: number;
23
+ };